如何防止網(wǎng)站垃圾留言評(píng)論
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
[p]可能很多自稱(chēng)是seo高手的“專(zhuān)家”們都有一個(gè)同樣的“法寶”,那就是瘋狂地在其他網(wǎng)站上留下大量的垃圾留言,垃圾評(píng)論,以便留下他們的鏈接?;蛟S這在很久以前可能有用,隨著se的反spam的技術(shù)不斷的升級(jí),現(xiàn)在再這樣做簡(jiǎn)直是自找死路,無(wú)疑是給se一個(gè)懲罰你的理由。[br][br] 然而,這些高手們依然不知疲倦樂(lè)在其中,或機(jī)器自動(dòng)留言,或人肉留言,總之,只要是可以留下一個(gè)鏈接的地方都留下了他們堅(jiān)強(qiáng)的身影,他們才不管你的網(wǎng)站是什么類(lèi)型的,走過(guò)路過(guò)都要進(jìn)去評(píng)論一下。鑒于垃圾猛于虎的嚴(yán)峻形勢(shì),飄易博客甚至不得不將評(píng)論設(shè)置為需要審核才能顯示。[br][br] 當(dāng)然,我們也不是完全反對(duì)留言評(píng)論,web2.0需要網(wǎng)站和用戶(hù)的互動(dòng),但要留言至少也要看下別人的文章,有感而發(fā)嘛,這是非常正常的交流溝通方式,我們非常歡迎這樣的留言和評(píng)論。[br][br] 當(dāng)然,我們需要反擊,針對(duì)機(jī)器每秒幾十幾百的信息發(fā)布量,我們也要從技術(shù)手段上屏蔽它們。如何具體操作呢?提供幾個(gè)可行有效的方法。[br][br] 1、判斷該發(fā)布信息是否有可靠的來(lái)路。只要是自然人發(fā)布的,那么他一定是通過(guò)我們提供給用戶(hù)的提交頁(yè)過(guò)來(lái)的,一定有一個(gè)來(lái)路;如果是機(jī)器發(fā)布的,就不會(huì)有來(lái)路信息。[br][br]'判斷來(lái)路,禁止外部提交[br]dim server_v1,server_v2[br]server_v1=cstr(request.servervariables("http_referer"))[br]server_v2=cstr(request.servervariables("server_name"))[br]if server_v1="" or instr(server_v1,"/add.asp")<=0 or mid(server_v1,8,len(server_v2))<>server_v2 then[br]response.write ""[br]response.end[br]end if[br][br] 注意,上面的/add.asp就是提交頁(yè)面來(lái)源頁(yè)。當(dāng)然,機(jī)器也可以偽造來(lái)路,這就要結(jié)合以下方式一起對(duì)付了。[br][br] 2、驗(yàn)證碼。驗(yàn)證碼一直是對(duì)付機(jī)器垃圾留言的一個(gè)可行的方法。不同的驗(yàn)證碼有不同的對(duì)付機(jī)器留言的能力,越復(fù)雜的驗(yàn)證碼,機(jī)器越難破解。這需要在考慮用戶(hù)的感受和對(duì)付機(jī)器之間選擇一個(gè)平衡點(diǎn)。關(guān)于驗(yàn)證碼的使用方法,我就不多說(shuō)了,谷歌、百度里搜索下就會(huì)出現(xiàn)很多介紹。[br][br] 3、判斷來(lái)源提交的時(shí)間。如果在提交頁(yè)停留的時(shí)間太短,比如20秒,一般只要是個(gè)人,他打字的時(shí)間都不必這個(gè)少。舉例說(shuō)明,在用戶(hù)打開(kāi)頁(yè)面(如add.asp)的時(shí)候,我們記下這個(gè)時(shí)間,在form提交表單里增加一個(gè)隱藏對(duì)象,如:[br][br][br][br] 然后,當(dāng)用戶(hù)寫(xiě)好留言評(píng)論后提交到具體處理頁(yè)面(如addok.asp)的時(shí)候,我們獲取當(dāng)前時(shí)間,和add.asp里的這個(gè)intime1時(shí)間比較,如果這個(gè)時(shí)間差小于設(shè)定的時(shí)間,如20秒,則禁止留言,判斷為機(jī)器。代碼可這樣寫(xiě):[br][br]if datediff("s",request.form("intime1"), now()) < 20 then[br]response.write ""[br]response.end[br]end if[br][br] 通過(guò)以上三種方法可以屏蔽掉絕大部分的機(jī)器垃圾留言評(píng)論,如果還有大量的留言的話,那多半是人肉留言了。但是,我們又如何對(duì)付人肉留言呢?dreamsun也提供方法對(duì)付。[br][br] 方法很簡(jiǎn)單,就是通過(guò)記錄用戶(hù)的cookies以及ip來(lái)限制同一用戶(hù)發(fā)表留言的數(shù)量。比如一天24小時(shí)內(nèi),只允許同一用戶(hù)發(fā)表信息5條。我們可以通過(guò)以下方法實(shí)現(xiàn)。[br][br]<%'當(dāng)用戶(hù)每提交一次[br]if request.cookies("postnum")="" then[br]response.cookies("postnum")=1[br]response.cookies("postnum").expires=dateadd("h", 24, now()) [br]else[br]response.cookies("postnum")=request.cookies("postnum")+1[br]end if[br]if request.cookies("postnum") > 5 then[br]response.write ""[br]response.end[br]end if [br]%>[br][br] 通過(guò)以上的限制,人工發(fā)帖也得到了一定的限制。上面的方法是基于cookies判斷,當(dāng)然用戶(hù)可以通過(guò)瀏覽器清空cookies,但這樣增加了他們發(fā)垃圾帖子的難度,提高了門(mén)檻。我們還可以繼續(xù)判斷發(fā)布者的ip,通過(guò)同一個(gè)ip下發(fā)帖限制數(shù)量來(lái)達(dá)到我們的目的。在此,就不再擴(kuò)展,大家可以自己設(shè)計(jì)如何判斷ip來(lái)限制發(fā)帖的方法。[/p]
該文章在 2010/7/22 23:57:37 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |