今天小編分享的财經經驗:微博“反爬蟲”這招,我追女孩也用過,歡迎閲讀。
一、初階:文科生的藏頭詩與程式員的暗樁
讀書那會遇上考試答卷子,如果一題都不會,恰好同桌是全班第一,我們還可以抄同桌的卷子。頂風作案的壓力之下、匆忙之中,我們自己的卷子上,除了抄到同桌的标準答案,竟把同桌的名字也一并抄過來了。
靈感來源于生活。有了這樣的抄襲體驗,自然知道如何反抄襲。
我大約在 5 年前發表過一篇有關 " 洗稿與反洗稿 " 的文章,為了説明這一 " 反洗稿技巧 ",我在文中展示了一個自己親歷的案例:早年間為了讨好對象,我寫了一篇 " 校園愛情文學 " 公眾号文章,後來被不少公眾号、網站擅自轉發了。其實他們都不知道,在某些段落,每段段首的單字相連、段末的單字相連,分别都是特定的古詩詞——我當時就是化用了像《西洲曲》當中 " 南風知我意,吹夢到西洲 " 那樣的詩句。剽竊者斷然不會想到,他們在抄襲文章的同時,也會把我 " 追女孩 " 的藏頭詩心思全抄過去。
這樣的方法,首創者當然不是我,程式員要運用得更早,他們能把代碼寫得跟詩一樣優雅,自然也能想到代碼被抄襲侵權的證明方法。例如説,一位叫 " 唐有鯉 " 的程式員,在自己寫的代碼中,悄悄嵌入一串具有特殊含義的信息 "daimachaoyouli,qiyoucili"(代碼抄有鯉,豈有此理)。這樣哪怕被同事抄走,拿去跟老板邀功,這位聰明的程式員,也能憑當初埋下的 " 暗樁 " 來打臉同事。
二、進階:" 文字暗樁 " 首用于打官司
事實上,也确實有聰明的程式員,在打官司中用過這一招。
在霍炬訴 " 差評 " 公眾号文章抄襲案 [ 1 ] 中,工程師霍炬先生作為原告,論述了自己使用獨有詞組作為 " 文字信标 " 的巧妙設計。他 " 埋 " 了兩個獨有詞組:" 兼具數學和工程之美 "、" 最底層的簡單 API 實現 " 作為 " 暗樁 "(見下圖)。
(圖片來源于霍炬公眾号 " 歪理邪説 " 的文章:左圖為被告 " 差評 " 文章,右圖為原告霍炬文章)
因為該詞組的表達頗具獨創性,在他本人發表原文之前,歷史上沒有任何一篇文章使用過這兩個詞組當中的任何一個,更何況是同時使用。正因為這一巧妙創新,無論原文被轉載到網絡上的哪一個角落,只要以這倆詞組作為關鍵詞進行檢索,都能搜到原文,以及涉嫌抄襲的文章。相同的是,兩篇文章都用了一樣的 " 獨創 " 詞組,不同的是,原文發表在前、創作更早。這也是原告霍炬先生在案件當中,論述被告 " 差評 " 存在抄襲的邏輯。
" 程式員們使用這個技巧已經有幾十年的歷史了 …… 但應用到文字創作上,我覺得這應該是第一個公開的案例。" 霍炬先生自己評價説。但遺憾的是,如此令程式員們拍案叫絕的抄襲證明方式,最後沒有得到法官的 " 拍案支持 " ——法官判決認為,原告标記的兩個獨創短句 " 僅 17 個漢字、3 個字母,所占比例極小,也并非核心内容,不能限制他人也使用這樣的短句。"
法官用短短一句話,仿佛也表達了這樣的兩層意思:
1. 中華文化博大精深,不能説你創造了這倆句子,就壟斷這倆句子的版權使用;
2. 這兩句是一模一樣,但字數少且非核心内容,難以證實整部作品構成抄襲。
三、高階:微博一招讓 " 秘密竊取 " 行為無所遁形
前面講的 " 暗樁 " 玩法,均是運用于反抄襲(著作權糾紛)的實踐,而微博則将其應用于反不正當競争(數據權益糾紛)中。
在這起全國首例非法調用 API 獲取數據交易轉賣案中,作為原告的微博指控對方使用技術手段繞開了微博平台設定的保護措施," 秘密竊取 " 了微博的數據轉售獲利。在微博被瘋狂非法抓取數據狂賣 21 億次、勝訴獲賠 2000 萬元的背後,離不開微博的取證絕招:插入特殊資料欄——廣東省高級人民法院在判決書中詳細記錄了這 " 制勝一招 "(如下截圖)。當然,不想看的讀者可以跳過截圖,直接看我的 " 小白解説版 "。
(抓取微博數據首案終審 2022 粵民終 4541 号判決書截圖," 微夢公司 " 即為微博一方)
微博采取了什麼保護措施呢?我們正常用户浏覽微博,後台會識别我們的 id,所以此時微博以 " 我家大門常打開 " 的狀态,開放懷抱等你正常登錄使用。但倘若哪個壞家夥頻繁向微博索要數據,超出用户正常使用微博的範圍,後台就會識别出這個 id 事出反常必有妖,為防别有用心的競争對手來爬數據,微博會拒絕繼續向該 id 提供數據。這,就是微博所采取的 " 反爬 " 措施手段。
那對方是如何成功繞過上述保護措施," 秘密竊取 " 微博數據的呢?若要人不知,除非換 id。沒錯,打一槍換一個馬甲,讓微博後台每次都誤以為是不同 id 的正常用户登錄,如此一來,爬數據簡直不要太愉快,零元購瞬間掏空别人數據庫不是夢。(注:此處僅為評論和説明某一技術手段,并非教授某種技術方式)
微博又是如何鎖定對方 " 秘密竊取 " 的罪證呢?天網恢恢,有了 " 暗樁 ",哪怕你燒成灰。學過中學《生物》的,都應該記得" 熒遊標注法 "。
舉個例子,年級長韋博陽(後台)宣布,期末考試 1 至 6 班,1 班成績最好,獎勵 1 班全班同學,集體到大教室享用點心。但這個韋博陽是新來的年級長,6 個班的學生他全都不認識,為了防止 1 班以外的其他學生來 " 渾水摸魚 "、搶占資源,韋博陽年級長會在大教室門口,檢查每個學生的校牌(id),确認是 1 班學生(正常用户)才放行。
結果那天 1 至 5 班均有部分搗蛋學生(異常用户)篡改校牌,以 1 班學生的身份掩人耳目,成功混吃,當然也成功 " 等死 " ——因為韋博陽年級長還有後手,他要求每位學生吃點心之前,必須使用洗手液洗手,而這些洗手液被提前摻了熒光劑(插入加密字元),只要學生們回到自己的班上,韋博陽年級長到逐個班去關燈,在黑暗狀态下,偷吃過點心的 " 黑手 " 必将一一遁形(解密)。這,就是微博的取證小妙招。
四、餘論:同一 " 暗樁 " 打法,兩案結果為何不同?
想到前面霍炬訴差評案的敗訴,有細心的讀者可能會有疑問:底層邏輯都是玩 " 藏頭詩 " 這一招,追女孩可以用,數據之争可以用,憑啥到版權之訴這裏就不能用?
究其原因,是指控的侵權方式不一樣,所以 " 暗樁 " 的使命也大有不同。在非法調用 API 抓取微博數據首案中,微博只要證明 " 暗樁來源 " 即可——即指出 " 既然暗樁源于我,你就必然爬過我 "。然而在著作權糾紛案中,這些 " 暗樁 " 除了要證明來源,往往還被要求擔起證明 " 實質性相似 " 的重任。這個攔路虎可太難了,什麼意思呢?就是我們在前面分析霍炬 vs. 差評案中的法官意思:
(1)暗樁雖是你獨創,但别人也能照用;
(2)暗樁信息這麼短,咋能證明文章整體抄襲?
放在《著作權法》當中,自然是這麼個道理。但我個人認為,在司法實踐中,倘若我們是遭遇被侵權的一方,維權的思路可以不那麼局限,比方説:
1. 用 " 暗樁 " 争取法官心證:" 暗樁 " 是用來證明你 " 偷 " 過我的東西,而不是去論證我能不能禁止你使用這玩意,只要我證明了 " 暗樁 " 的獨創性、在先且唯一,那天底下哪有那麼巧的事,剛好你的文章裏也用了一模一樣的 " 暗樁 " ——以此作為重要突破口,來打動法官内心确信,然後再結合其他方面(如比對情節、編排、叙述方式等是否存在雷同),打一套 " 有面子有裏子 " 的組合拳,以實現 " 實質性相似 " 的侵權論證;
2. 優先适用數據權益保護:數字經濟時代,許多的文字作品同時也是以數據形态存在,在數據越來越重要的今天,維權方如果能在起訴時挖掘到案件價值,實現從 " 版權保護 " 向 " 數據權益保護 " 的跨越,實際上不僅僅是請求權基礎的簡單變化,更加是在舉證便捷程度、獲賠金額、案件影響意義等方面實現跨越式的提升。畢竟,裏程碑式的非法調用 API 抓取微博數據全國首案,以及其判賠金額 2000 萬元,足以説明一切。
這是數據的價值,也是律師的價值,更是 " 懂技術的律師 " 的價值。