摘要:同一當日發帖數量限制有作用采用基于的技術防止發帖機器發帖,是有作用的,而且經過了檢驗。注本文為轉載,原文鏈接自動發帖機的斗爭過程防止垃圾評論的幾個方法總結相關文章如何防止垃圾評論談談反垃圾
所謂魔高一尺,道高一丈。機器發帖和反機器發帖一直都是場硝煙彌漫的豪華戰爭。
自網站開放之日起,這個垃圾信息就沒有消停過,而且這個垃圾發帖的時間都有一定的規律,一般是從上午9點、10點的時候開始,到下午下班前這段時間,是發帖機發動的時候,看的出來,發帖機的操作者也是一個正常上班的“好同志”。
從發帖機發布的信息來看,操作者也刻意優化了下信息內容,以免信息過于垃圾,直接導致發帖被屏蔽而失敗;有時候,我看著這些內容,還真為這些操作者們拍案叫絕,因為連我差點都被這些機器發的帖子給迷惑住了。但是,從連續的幾個帖子發布的時間間隔來看,有的竟然是同一秒鐘發布出來的!只要你真的是個人在發貼,發一個帖子就打幾個漢字怎么著也要幾十秒吧。
很多時候,我不得不佩服這些發帖機的開發者們,有些發帖機的確夠強悍,像偽造來路,偽造cookie等對他們來說是小case一樁,而且有的還會自動跟蹤你網站的修改,自動調整。牛。
從地域來看,廣東的垃圾信息真是太多了,像廣州,深圳,東莞尤其厲害,我站上的大部分垃圾信息都是來自這些區域。看的出來,廣東的經濟發展的確很拽,但這里您要注意了,這些垃圾帖子的內容絕大部分是關于走私、水貨產品什么的,您可以自己聯想了,為什么廣東會有這么多的垃圾信息了。
如果你的網站是采用簡單防御垃圾信息的方法,可要注意了,看我分解:
很多網站對于機器發帖的第一步便是驗證是否有合適的來路信息,然而稍微懂點程序的人都知道,無論是asp,php還是.net,jsp偽造來路信息是輕而易舉。所以這招基本失效。但有總比沒有好。有這個驗證還是能防范一些低級發帖機的。
2、采用發帖時間判斷 == 失敗從發布頁(如add.asp)獲得一個當前系統時間,然后用戶提交信息(如提交到addok.asp)時計算用戶在這個頁面上的停留時間,如果過短,比如小于30秒鐘,則判斷為機器發帖。這招也失敗了,發帖機根本不訪問add.asp發布頁,它直接post一個當前虛假的時間,使得這個時間遠遠大于30秒,所以這個方法也失效了。
3、采用cookie限制發帖次數 == 失敗程序員們知道,cookie是客戶端的信息,也是可以被偽造的。比如,你采用每次發帖成功后,采用程序使得某個cookie的值加1,當這個cookie值累加到N,就拒絕在當天繼續發帖。發帖機如何破解這個方法呢?其實很簡單,發帖機要做的就是偽造這個cookie,使這個cookie的值永遠為1,也就永遠不會超過限制了。
4、使用自身的反垃圾信息過濾系統 == 有作用把垃圾信息的關鍵字屏蔽掉,的確可以有效遏制機器發布惡意的垃圾帖子。但這個方法局限性很大。它只能屏蔽那些信息內容已經包含了惡意關鍵字的帖子,而對于偽裝的帖子不起作用。
5、同一IP當日發帖數量限制 == 有作用采用基于IP的技術防止發帖機器發帖,是有作用的,而且經過了檢驗。具體方法就是:判斷當天發布的帖子里相同IP下所發布的帖子數量,如果這個數量大于一個數值,就限制其繼續發帖。
那有人說了,不能換個IP再發啊,是的,發帖機是可以換IP發布,但是,換一次IP,就意味著它要掉一次線,而一般發帖機是多線程的,它這樣做其他進程也同樣無法發布了。
什么意思呢?比如,發布帖子,如果服務器端做了內容關鍵詞的過濾,如果機器提交的帖子內容里邊含有該關鍵詞,則不能給客戶端明確的提示,如:"Bad contents","內容里邊含有非法關鍵詞",這樣攻擊者就會對詞語進行特殊化處理,如加空格,加一些特殊字符隔開,而應該給出比較籠統的提示"Invalid Info !" 或 "INFO ERROR !",這樣攻擊者就找不出具體哪里有問題,也就增大了攻擊的難度。
7、如何防止被人刷驗證碼?坑產品設計出來的注冊/登錄是可以獲取手機驗證碼的,但是卻沒有加上圖形驗證碼。然后現在我們的這個獲取驗證碼的接口被人刷了好多下。最近一個小時足足有數千次請求,而且居然還是不同的IP和不同的手機號碼....
求支招,除了加圖形驗證碼外,怎么樣防刷?
解決方案:
我能想到的,除了圖形驗證碼:
基于手機號碼,限制每天每個手機最多發N條驗證碼。這個貌似LZ已經加了。
基于IP,限制每天每個IP最多發N條驗證碼... -- 缺點:容易誤殺正常用戶,慎用
【究極手段】基于用戶行為大數據分析
如何基于用戶行為分析呢?想到一個簡單的方法:
首先,正常用戶除了發送驗證碼這個請求外,應該還會訪問頁面的其他資源,比如CSS/JS/HTML/圖片等。
然而,如果是刷子,他可能并不會專門去訪問這些個資源。
所以可以在用戶訪問頁面的時候就記錄一個human參數存在session中,每當其請求頁面中的一個資源則human += 1。等到發送驗證碼的接口的時候,取出來這個human參數看看其值是多少,正常的一個用戶這個human值應該是大于某個值的(比如5),小于的則應該就是刷子。(為0的肯定是刷子無疑)
我說的比較簡單啦,更復雜點的可以順便把幾次請求之間的間隔記錄下來,點擊登錄或注冊按鈕前鼠標的移動軌跡,鼠標按下收起的時間等等記錄下來綜合分析。
要是能引用或抄一個像google做的reCAPTCHA -- 點一下就自動識別人還是機器刷子 -- 就好了。
綜上所述,防止發帖機發布垃圾信息,不能僅僅采用一種方法,如果把以上的5種方法綜合利用,在防止垃圾信息橫行的動作上是富有成效的。大家還可以根據第三點把cookie改造稱session,這樣第三個方法也能起到有效的防范作用;這樣,后面三種方法一結合,就可以搭建一個比較強健的反垃圾信息系統了。
注:本文為轉載,原文鏈接:
自動發帖機的斗爭過程防止垃圾評論的幾個方法總結
相關文章:
如何防止垃圾評論
談談反垃圾
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/21950.html
摘要:往期回顧打怪升級小程序評論回復和發貼功能實戰二填坑手冊小程序生成海報一拆彈時刻小程序生成海報二填坑手冊小程序目錄結構和組件使用心得 showImg(https://segmentfault.com/img/remote/1460000019733090?w=818&h=516); 在學習成長的過程中,常常會遇到一些自己從未接觸的事物,這就好比是打怪升級,每次打倒一只怪,都會獲得經驗,讓...
摘要:會解釋怎樣使用邏輯回歸,隨機森林,和自動化腳本,但都不會深入。這使我在紐約地區積累了超過名粉絲,并且仍在快速增長。我收集了個帳戶,這些帳戶發布了許多關于紐約的優質圖片。以下面這兩篇帖子為例這兩個帖子來自同一個紐約的帳戶。 showImg(https://segmentfault.com/img/remote/1460000019393373); 在家做飯不下館子可以減少開支已經是公開的...
摘要:本文主要分享幾個網頁前端的幾個基礎知識點,用于零碎的知識學習,同時也是在實踐中的一些心得。俄奧斯特洛夫斯基展示幼圓人最寶貴的東西是生命。本文主要分享幾個網頁前端的幾個基礎知識點,用于零碎的html知識學習,同時也是在實踐中的一些心得。最后給出了幾個小例子。 1. 網頁編程初識 掌握基本的html標簽以及CSS語法 學會查看網頁的源代碼F12 生活中多總結一些基本的美好的東西 2. 頁面定...
摘要:微博系統的推模式和拉模式實現推拉結合推數據和拉數據都有什么優缺點在用戶的信息流中,推數據的實現其實更簡單。姚晨發了條微博,只需要取出姚晨粉絲的信息流,依次推給粉絲就了。簡單介紹了我對時間流的看法只是我個人的認識,不知道微博具體是如何實現的。 微博feed系統的推(push)模式和拉(pull)模式實現timeline 推拉結合 推數據和拉數據都有什么優缺點?在用戶的信息流中,推數據的實...
摘要:由虛擬機加載的類,被加載到虛擬機內存中之后,虛擬機會讀取并執行它里面存在的字節碼指令。虛擬機中執行字節碼指令的部分叫做執行引擎。 什么是Java虛擬機? 作為一個Java程序員,我們每天都在寫Java代碼,我們寫的代碼都是在一個叫做Java虛擬機的東西上執行的。但是如果要問什么是虛擬機,恐怕很多人就會模棱兩可了。在本文中,我會寫下我對虛擬機的理解。因為能力所限,可能有些地方描述的不夠欠...
閱讀 3160·2021-11-22 12:01
閱讀 3780·2021-08-30 09:46
閱讀 793·2019-08-30 13:48
閱讀 3227·2019-08-29 16:43
閱讀 1671·2019-08-29 16:33
閱讀 1862·2019-08-29 13:44
閱讀 1426·2019-08-26 13:45
閱讀 2241·2019-08-26 11:44