您的需求已經提交,我們將在48小時內聯系您
全國服務熱線:400-1000-221
確定
免費享受企業級云安全服務
獲取手機驗證碼
{{message}}
免費試用

網站防御爬蟲攻擊有哪些方式

作者:安全狗
發布時間:2023-03-02

  很多網站都深受爬蟲困擾,網站在被爬蟲大量抓取的的時候經常容易被爬蟲把服務器資源抓崩了,有的時候,同行也會來爬取我們網站進行數據采集,影響我們站點的原創性,那么接下來就跟著小編來看看網站防御爬蟲攻擊有哪些方式吧。

  反爬機制主要有兩大策略:

  01

  —

  控制IP訪問頻率

  最常見的基本都會使用代理IP來進行訪問,但是對于一般人來說,幾萬ip差不多是極限了,所以一個ip還是可能多次請求。意味著爬蟲需要付出更多的成本投入在IP資源上,IP越多,爬取的成本越高,自然容易勸退一部分人。

  02

  —

  控制爬取策略

  如果簡單的只對目標數據進行爬取,反爬系統只要對訪問情況和用戶行為進行相關分析,其實很簡單就能判定爬蟲的那堆ip,你除了這堆數據什么都沒訪問,一看就不是正經用戶。

  當然策略這個東西,就需要更多的博弈了。爬蟲要增加迷惑度,需要去訪問一些無關的東西,最后是研究正常用戶的訪問流程,然后模擬一遍。再者,控制速度。畢竟反爬系統的統計區間是肯定有限制的,不可能拿一個月的數據都分析一遍找出爬蟲。

  反爬系統的存在,意義就在于增加這個成本。當然也需要衡量自身的成本,畢竟不能本末倒置,反爬成本太高就沒價值了。

  那網站一般用什么措施防范爬蟲呢?主要有以下幾種:

  1、限制IP地址單位時間的訪問次數

  沒有哪個常人一秒鐘內能訪問相同網站5次,除非是程序訪問,而有這種喜好的,就剩下搜索引擎爬蟲和討厭的采集器了。

  弊端:一刀切,這同樣會阻止搜索引擎對網站的收錄

  適用網站:不太依靠搜索引擎的網站

  爬蟲:減少單位時間的訪問次數,減低采集效率

  2、屏蔽ip

  通過后臺計數器,記錄來訪者ip和訪問頻率,人為分析來訪記錄,屏蔽可疑ip。

  弊端:似乎沒什么弊端,就是站長忙了點

  適用網站:所有網站,且站長能夠知道哪些是google或者百度的機器人

  爬蟲:打游擊戰唄!利用ip代理采集一次換一次,不過會降低爬蟲的效率和網速)。

  3、利用js加密網頁內容

  搜索引擎爬蟲和采集器通殺,搞死人

  適用網站:極度討厭搜索引擎和采集器的網站

  爬蟲:你那么牛,成本不允許,我不爬了

  4、網頁里隱藏網站版權或者一些隨機垃圾文字,這些文字風格寫在css文件中

  雖然不能防止采集,但是會讓采集后的內容充滿了你網站的版權說明或者一些垃圾文字,因為一般爬蟲不會同時采集你的css文件,那些文字沒了風格,就顯示出來了。

  適用網站:所有網站

  爬蟲:對于版權文字,好辦,替換掉。對于隨機的垃圾文字,沒辦法,勤快點了。

  5、用戶登錄才能訪問網站內容

  搜索引擎爬蟲不會對每個這樣類型的網站設計登錄程序。

  適用網站:極度討厭搜索引擎,且想阻止大部分爬蟲的網站

  爬蟲:制作擬用戶登錄提交表單行為的模塊。

  6、利用腳本語言做分頁(隱藏分頁)

  搜索引擎爬蟲不會針對各種網站的隱藏分頁進行分析,這影響搜索引擎對其收錄。但是,采集者在編寫采集規則時,要分析目標網頁代碼,懂點腳本知識的人,就會知道分頁的真實鏈接地址。

  適用網站:對搜索引擎依賴度不高的網站,還有,采集你的人不懂腳本知識

  爬蟲:反正都要分析你的網頁代碼,順便分析你的分頁腳本,花不了多少額外時間。

  7、防盜鏈措施 (只允許通過本站頁面連接查看,如:Request.ServerVariables(“HTTP_REFERER“) )

  asp和php可以通過讀取請求的HTTP_REFERER屬性,來判斷該請求是否來自本網站,從而來限制爬蟲,同樣也限制了搜索引擎爬蟲,嚴重影響搜索引擎對網站部分防盜鏈內容的收錄。

  適用網站:不太考慮搜索引擎收錄的網站。

  爬蟲:偽裝HTTP_REFERER,不難。

  8、全flash、圖片或者pdf來呈現網站內容

  對搜索引擎爬蟲和采集器支持性不好,這個很多懂點seo的人都知道

  適用網站:媒體設計類并且不在意搜索引擎收錄的網站

  爬蟲:不爬了,走人

  9、網站隨機采用不同模版

  因為采集器是根據網頁結構來定位所需要的內容,一旦先后兩次模版更換,采集規則就失效,不錯。而且這樣對搜索引擎爬蟲沒影響。

  適用網站:動態網站,并且不考慮用戶體驗

  爬蟲:一個網站模版不可能多于10個吧,每個模版弄一個規則就行了,不同模版采用不同采集規則。如果多于10個模版了,既然目標網站都那么費勁的更換模版,成全他,撤。

  10、采用動態不規則的html標簽

  這個比較變態??紤]到html標簽內含空格和不含空格效果是一樣的,所以< div >和< div>對于頁面顯示效果一樣,但是作為采集器的標記就是兩個不同標記了。如果每次頁面的html標簽內空格數隨機,那么采集規則就失效了。但是,這對搜索引擎爬蟲沒多大影響。

  適合網站:所有動態且不想遵守網頁設計規范的網站

  爬蟲:還是有對策的,現在html cleaner還是很多的,先清理了html標簽,然后再寫采集規則;應該用采集規則前先清理html標簽,還是能夠拿到所需數據。

  了解了以上一些常見反爬措施,

標簽: 網站防御
<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>