查看單個文章
舊 2006-09-02, 06:29 AM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

防止垃圾廣告和盜鏈的新方法  前天晚上,我遭到了垃圾留言廣告的襲擊。

  晚上我剛去打了2個小時遊戲,就有人用程式狂灌我幾百個垃圾留言廣告。這時我也發現目前的防垃圾留言系統存在漏洞,那個發廣告的傢伙先用程式偽造了refer,然後每篇文章只有一個鏈接,這樣就繞過了我設置的過濾,達到了大量發送垃圾訊息的目的。

  看來我目前的反垃圾留言程式還是有問題的。於是我經過一晚上的重新編碼,增加了一個自動封IP位址的功能,如果判斷半個小時內同一個IP位址留言中包含的超級連接數目超過10,就判斷其為垃圾留言發送者,系統就自動封其IP位址,阻止這個IP位址繼續發送留言。

  現在看看目前的反垃圾系統是否能較好工作,如果還不行的話,只好啟動驗證碼了,雖然個人感覺驗證碼會降低用戶體驗。這個反垃圾廣告插件是基於原版Z-Blog 1.5系統的,如果你也在用Z-Blog 1.5這個系統,也可以下載使用,對於1.6的測試版,本程式應該也可以使用,不過我沒測試過。

  點擊這裡下載:Z-Blog反垃圾廣告插件。

  另外對於垃圾引用,我也想到一個新的對策,就是當系統接收到一個引用的時候,先取得那個位址的內容,如果包含本站的鏈接,說明是正常引用,否則就是垃圾引用。

  最後對於圖片的盜鏈,我終於無法繼續忍受了,新增水印的方法基本上沒有任何作用,過了這麼長時間,盜鏈的情況依舊沒有減少,盜鏈佔用了太多的流量和系統資源,每天佔用了10G多的流量,嚴重影響了我的博客的正常用戶訪問,因此我只好啟用了ISAPI_Rewrite這個最終殺手來防止盜鏈,不過目前我允許bloglines、zhuaxia、google、baidu這幾個網站引用我站圖片,如果你也需要引用我站圖片,請把域名告訴我,我審核後可以開放。

  ISAPI_Rewrite的httpd.ini內容寫的是下面內容,如果你也遇到盜鏈的困擾,建議可以參考一下:

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://(?:www\.williamlong\.info|www\.moon-blog\.com|www\.bloglines\.com|www\.zhuaxia\.com|www\.google\.com|cache\.baidu\.com)).+
RewriteRule .*\.(?:jpg|kmz|kml|zip) /block.gif [I,O]

  註釋:第二行裡面的域名是允許鏈接圖片的網站列表,目前我允許我自己的兩個站和另外bloglines、zhuaxia、google、baidu這四個網站引用我站文件,其他網站的引用被禁止。

  第三行是禁止引用的文件類型,包括jpg圖片、Google Earth的kmz和kml、zip文件。當然,還可以增加其他類型,比如gif、rar等,因為我站沒有那些文件,所以沒有新增上去。

  更新:晚上看了一下IIS日誌,圖片目錄佔用流量降到了1.5G,一天時間ISAPI_Rewrite阻擋了3萬4千次盜鏈請求,真是個不錯的成績啊。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
longlie (2007-10-21)
感謝您發表一篇好文章