摘要:現(xiàn)在有許多初學(xué)者學(xué)習(xí)網(wǎng)絡(luò)爬蟲,但他們不懂得控制速度,導(dǎo)致服務(wù)器資源浪費(fèi)。通過的簡單配置,能過濾一小部分這類爬蟲。參考限制某個(gè)同一時(shí)間段的訪問次數(shù)首發(fā)地址使用過濾網(wǎng)絡(luò)爬蟲蜻蜓代理
現(xiàn)在有許多初學(xué)者學(xué)習(xí)網(wǎng)絡(luò)爬蟲,但他們不懂得控制速度,導(dǎo)致服務(wù)器資源浪費(fèi)。通過 Nginx 的簡單配置,能過濾一小部分這類爬蟲。
方法一:通過 User-Agent 過濾Nginx 參考配置如下:
location / { if ($http_user_agent ~* "scrapy|python|curl|java|wget|httpclient|okhttp") { return 503; } # 正常請(qǐng)求 }
這里只列出了部分爬蟲的 User-Agent,需要更多請(qǐng)參考:GitHub - JayBizzle/Crawler-Detect
注意:User-Agent 很容易修改方法二:block IP
通過禁止某個(gè) IP 或者某個(gè) IP 段訪問,也能起到一定效果。
Nginx 示例配置如下:
deny 178.238.234.1; deny 1.32.128.0/18;方法三:rate limit
通過限制某個(gè) IP 的訪問頻率,避免一部分 CC (Challenge Collapsar)攻擊。
Nginx 示例配置如下:
http{ #定義一個(gè)名為allips的limit_req_zone用來存儲(chǔ)session,大小是10M內(nèi)存, #以$binary_remote_addr 為key,限制平均每秒的請(qǐng)求為20個(gè), #1M能存儲(chǔ)16000個(gè)狀態(tài),rete的值必須為整數(shù), #如果限制兩秒鐘一個(gè)請(qǐng)求,可以設(shè)置成30r/m limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s; ... server{ ... location { ... #限制每ip每秒不超過20個(gè)請(qǐng)求,漏桶數(shù)burst為5 #brust的意思就是,如果第1秒、2,3,4秒請(qǐng)求為19個(gè), #第5秒的請(qǐng)求為25個(gè)是被允許的。 #但是如果你第1秒就25個(gè)請(qǐng)求,第2秒超過20的請(qǐng)求返回503錯(cuò)誤。 #nodelay,如果不設(shè)置該選項(xiàng),嚴(yán)格使用平均速率限制請(qǐng)求數(shù), #第1秒25個(gè)請(qǐng)求時(shí),5個(gè)請(qǐng)求放到第2秒執(zhí)行, #設(shè)置nodelay,25個(gè)請(qǐng)求將在第1秒執(zhí)行。 limit_req zone=allips burst=5 nodelay; ... } ... } ... }
當(dāng)然,攻擊者也可以使用代理IP來破除頻率限制。建議在網(wǎng)站前面加一層 CDN。
參考:nginx限制某個(gè)IP同一時(shí)間段的訪問次數(shù)
首發(fā)地址:使用 Nginx 過濾網(wǎng)絡(luò)爬蟲 | 蜻蜓代理
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39761.html
摘要:三服務(wù)端渲染方式方式一傳統(tǒng)方式服務(wù)端渲染,解決用戶體驗(yàn)和更好的,有諸多工具使用這種方式如的的等。未列入白名單即請(qǐng)求不是請(qǐng)求或未通過任何過濾器,將只是充當(dāng)反向代理,只是按原樣傳送請(qǐng)求和響應(yīng)。 一、服務(wù)器端渲染是什么?使用 React 構(gòu)建客戶端應(yīng)用程序,默認(rèn)情況下,可以在瀏覽器中輸出 React 組件,進(jìn)行生成 DOM 和操作 DOM。React 也可以在服務(wù)端通過 Node.js 轉(zhuǎn)換...
摘要:爬蟲和反爬蟲日益成為每家公司的標(biāo)配系統(tǒng)。本文將描述一種盡量簡單的反爬蟲方案,可以在十幾分鐘內(nèi)解決部分簡單的爬蟲問題,緩解惡意攻擊或者是系統(tǒng)超負(fù)荷運(yùn)行的狀況至于復(fù)雜的爬蟲以及更精準(zhǔn)的防御,需要另外討論。 showImg(https://segmentfault.com/img/bVDYV4?w=800&h=568); 爬蟲和反爬蟲日益成為每家公司的標(biāo)配系統(tǒng)。爬蟲在情報(bào)獲取、虛假流量、動(dòng)態(tài)...
摘要:服務(wù)端渲染兩種方式根據(jù)上文介紹對(duì)服務(wù)端渲染利弊有所了解,我們可以根據(jù)利弊權(quán)衡取舍,最近在做服務(wù)端渲染的項(xiàng)目,找到多種服務(wù)端渲染解決方案,大致分為兩類。第一種方式傳統(tǒng)方式服務(wù)端渲染,解決用戶體驗(yàn)和更好的,有諸多工具使用這種方式如的的等。 最近在開發(fā)一個(gè)服務(wù)端渲染工具,通過一篇小文大致介紹下服務(wù)端渲染,和服務(wù)端渲染的方式方法。在此文后面有兩中服務(wù)端渲染方式的構(gòu)思,根據(jù)你對(duì)服務(wù)端渲染的利弊權(quán)...
閱讀 3046·2021-10-13 09:39
閱讀 1888·2021-09-02 15:15
閱讀 2451·2019-08-30 15:54
閱讀 1814·2019-08-30 14:01
閱讀 2613·2019-08-29 14:13
閱讀 1426·2019-08-29 13:10
閱讀 2739·2019-08-28 18:15
閱讀 3899·2019-08-26 10:20