前天晚上,我遭到了垃圾留言廣告的襲擊。
晚上我剛?cè)ゴ蛄?個(gè)小時(shí)游戲,就有人用程序狂灌我?guī)装賯€(gè)垃圾留言廣告。這時(shí)我也發(fā)現(xiàn)目前的防垃圾留言系統(tǒng)存在漏洞,那個(gè)發(fā)廣告的家伙先用程序偽造了refer,然后每篇文章只有一個(gè)鏈接,這樣就繞過了我設(shè)置的過濾,達(dá)到了大量發(fā)送垃圾信息的目的。
看來我目前的反垃圾留言程序還是有問題的。于是我經(jīng)過一晚上的重新編碼,增加了一個(gè)自動(dòng)封IP地址的功能,如果判斷半個(gè)小時(shí)內(nèi)同一個(gè)IP地址留言中包含的超級(jí)連接數(shù)目超過10,就判斷其為垃圾留言發(fā)送者,系統(tǒng)就自動(dòng)封其IP地址,阻止這個(gè)IP地址繼續(xù)發(fā)送留言。
現(xiàn)在看看目前的反垃圾系統(tǒng)是否能較好工作,如果還不行的話,只好啟動(dòng)驗(yàn)證碼了,雖然個(gè)人感覺驗(yàn)證碼會(huì)降低用戶體驗(yàn)。這個(gè)反垃圾廣告插件是基于原版Z-Blog 1.5系統(tǒng)的,如果你也在用Z-Blog 1.5這個(gè)系統(tǒng),也可以下載使用,對(duì)于1.6的測試版,本程序應(yīng)該也可以使用,不過我沒測試過。
點(diǎn)擊這里下載:Z-Blog反垃圾廣告插件(百度搜索下)。
另外對(duì)于垃圾引用,我也想到一個(gè)新的對(duì)策,就是當(dāng)系統(tǒng)接收到一個(gè)引用的時(shí)候,先取得那個(gè)地址的內(nèi)容,如果包含本站的鏈接,說明是正常引用,否則就是垃圾引用。
最后對(duì)于圖片的盜鏈,我終于無法繼續(xù)忍受了,添加水印的方法基本上沒有任何作用,過了這么長時(shí)間,盜鏈的情況依舊沒有減少,盜鏈占用了太多的流量和系統(tǒng)資源,每天占用了10G多的流量,嚴(yán)重影響了我的博客的正常用戶訪問,因此我只好啟用了ISAPI_Rewrite這個(gè)最終殺手來防止盜鏈,不過目前我允許bloglines、zhuaxia、google、baidu這幾個(gè)網(wǎng)站引用我站圖片,如果你也需要引用我站圖片,請(qǐng)把域名告訴我,我審核后可以開放。
ISAPI_Rewrite的httpd.ini內(nèi)容寫的是下面內(nèi)容,如果你也遇到盜鏈的困擾,建議可以參考一下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://(?:www.xxxxxxx.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]
注釋:第二行里面的域名是允許鏈接圖片的網(wǎng)站列表,目前我允許我自己的兩個(gè)站和另外bloglines、zhuaxia、google、baidu這四個(gè)網(wǎng)站引用我站文件,其他網(wǎng)站的引用被禁止。
第三行是禁止引用的文件類型,包括jpg圖片、Google Earth的kmz和kml、zip文件。當(dāng)然,還可以增加其他類型,比如gif、rar等,因?yàn)槲艺緵]有那些文件,所以沒有添加上去。
更新:晚上看了一下IIS日志,圖片目錄占用流量降到了1.5G,一天時(shí)間ISAPI_Rewrite阻擋了3萬4千次盜鏈請(qǐng)求,真是個(gè)不錯(cuò)的成績啊。