栗子現場直播 千篇一栗
有很多簡單的道理,若不是被遺忘,不是察覺不到,就是知易行難。

2011年4月4日 星期一

關於廣告 bot

  這篇文章是寫給電腦水平一般的人看。如果你懂得用 Facebook,MSN,也懂得去討論區,這篇文章對你來說應該不難明白。

  當我們逛討論區時,我們有時會遇到一些奇怪的會員,不斷在討論區發廣告文。這些會員我們一般會稱之為「廣告 bot」。我們之所以稱之為 bot,是因為這些會員,大都不是由人類直接操控,而是由其他電腦系統控制。就如網絡遊戲的 bot 外掛差不多的原理。
  廣告商之所以用 bot,是因為不需要太多人手。只需要一部上網的電腦,就能不斷在網上放廣告。成本低,利益高,就是其最大的優點。

  要說廣告 bot 的原理,就要先說討論區的原理。
  要建立一個討論區本來不是一件易事。要有網上空間,有設計,有電腦技術人,有時間。一個普通人要建個討論區,要麼就自己學寫程式,又或者請人寫,成本不是人人都負擔得起。
  幸好,網上不少好心人已經提供了一些「倒模討論區」,來解決以上的問題。只要你有網上空間,就能把討論區倒模出來,一分鐘內完成所有事。網上最常見的倒模討論區,有 phpBB 和 Discuz。我把它們稱為「倒模討論區」,因為它們都是由少數的來源倒模出來。
  但無論討論區如何改變也好,倒模始終還是倒模,程式還是沒有分別,連會員申請表格和發文表格也都沒有分別。當這些倒模討論區變得越來越多,就會為廣告商製造機會。廣告商只要利用電腦,向討論區發出相同格式的表單,就能申請千個會員帳號,發萬篇廣告文。廣告 bot 隨即盛行起來。

  事情慢慢變成廣告 bot 和倒模討論區開發者的角力戰。現在有不少討論區,都用了 CAPTCHA 來防止廣告 bot。原理是在會員申請頁上顯示一張有英文字的圖片,要訪客把那些英文字抄下來才能通過。這個方法在原理上是非常有效的,因為要電腦不經人手自動辨別圖片中的英文字,本來是件難事。廣告商的成本變高了,就把他們隔絕了。
  但當越來越多人用 CAPTCHA 來保護討論區,成本效益越來越高,廣告商也就會開發新的程式去解讀那些英文字的圖片,破解 CAPTCHA。因此現在即使一些網站使用了 CAPTCHA,還是不能完全阻止廣告 bot 的滋擾。
  直到現在,倒模討論區的開發者繼續努力防止廣告 bot,例如開發更難破解的 CAPTCHA,而廣告商就繼續努力破解這些防線。這場戰爭還是會繼續下去。

  例行說說,除了「倒模討論區」,一些「非倒模討論區」也不能倖免,例如香港高登。這些討論區雖然使用自家的程式,有獨立一套的會員申請表單。但由於這些討論區會員眾多,成本效益還是相當吸引。結果有些廣告商會單獨針對這些討論區來放 bot,甚至直接用真人來放廣告。但事情也只限於香港高登等這類超大型的討論區,對一千數百個會員的小型討論區,這個方法還是不伐算。

  而 OWT 作為倒模討論區,當然也逃不了廣告 bot 的滋擾。一週前,OWT 出現廣告 bot 的活動。而 OWT 本身也有使用 CAPTCHA。
  而針對廣告商的運作原理,我做了一些很微小的改變。
  因為廣告商多是向討論區發出同一格式的表單來入侵,因此我只是稍為在會員申請表單的格式上新增了一個很無聊的項目,「ABC=123」,一個無聊沒有變化也沒有意思的隱形項目。普通網民向我討論區發出會員申請表時,都會帶有這個「ABC=123」的隱形項目。但如果廣告商的系統,只懂解破 CAPTCHA,但沒有注意這個隱形項目,沒有加上「ABC=123」,就會被我的討論區用一個奇怪的理由「電郵錯誤」拒諸門外。
  老實說,這個方法其實很易攻破。因為所謂「隱形項目」,只是不在螢幕上出現而已,但在底層的網頁碼中還是很清楚地加上去。廣告商的電腦要入侵,只要稍為檢查一下 OWT 的會員申請表單,要發現這個隱形項目是極度容易。
  但我實在想看看廣告商的能耐,看看他們的系統能否解破我這道簡單的防線。我是期待那些廣告商能輕易衝破我做的白痴防線──作為討論區的負責人,做這樣的實驗實在是很不該。
  實驗很快就有成效了,結果令我非常失望,那些廣告商居然就這樣被擋住了──作為討論區的負責人,這種失望實在是很不該。

  即使這一關被沖了,我還是有後著的。只要不是被仇家針對來攻擊,要對付那些以成本效益為大前提的廣告商,還是十分容易。要他們買個程式員和我對著幹,只會蝕工錢,不合乎成本效益嘛。用 Google 找多兩個倒模討論區放廣告反而較伐算。

沒有留言: