主頁 > 知識庫 > nginx 防盜鏈防爬蟲配置詳解

nginx 防盜鏈防爬蟲配置詳解

熱門標簽:比較穩(wěn)定的外呼系統(tǒng) 山東電信外呼系統(tǒng)靠譜嗎 長沙回撥外呼系統(tǒng) 鸚鵡螺號航海地圖標注時間 信貸電銷機器人系統(tǒng) 江蘇自動外呼系統(tǒng)一般多少錢 400 電話 申請費用 ai電話機器人營銷 云南云電銷機器人招商

 新建配置配置文件 (例如進入到nginx安裝目錄下的conf目錄,創(chuàng)建: agent_deny.conf)

禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; }

禁止指定UA及UA為空的訪問

#forbidden Scrapy
if ($http_user_agent ~* (Scrapy|Curl|HttpClient))
{
  return 403;
}

#forbidden UA
if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" )
{
  return 403;
}

#forbidden not GET|HEAD|POST method access
if ($request_method !~ ^(GET|HEAD|POST)$)
{
  return 403;
}

然后,在網(wǎng)站相關(guān)配置中的 server段插入如下代碼: include agent_deny.conf;

重啟nginx:

/data/nginx/sbin/nginx -s reload

測試 使用curl -A 模擬抓取即可,比如:

curl -I -A 'YYSpider' <<www.xxx.con>>

結(jié)果

[root@11 conf]# curl -I -A 'YYSpider' www.xxx.cn
HTTP/1.1 403 Forbidden
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:35:21 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

模擬UA為空的抓?。?br />

curl -I -A' ' <<www.xxx.cn>>

結(jié)果

[root@11 conf]# curl -I -A' ' www.xxx.cn
HTTP/1.1 403 Forbidden
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:36:06 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

模擬百度蜘蛛的抓取:

curl -I -A 'Baiduspider' <<<www.xxx.cn>>>

[root@11 conf]# curl -I -A 'Baiduspider' www.xxx.cn
HTTP/1.1 200 OK
Server: nginx/1.12.0
Date: Wed, 24 Apr 2019 11:36:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 12 Apr 2019 13:49:36 GMT
Connection: keep-alive
ETag: "5cb09770-264"
Accept-Ranges: bytes

UA類型

FeedDemon       內(nèi)容采集
BOT/0.1 (BOT for JCE) sql注入
CrawlDaddy      sql注入
Java         內(nèi)容采集
Jullo         內(nèi)容采集
Feedly        內(nèi)容采集
UniversalFeedParser  內(nèi)容采集
ApacheBench      cc攻擊器
Swiftbot       無用爬蟲
YandexBot       無用爬蟲
AhrefsBot       無用爬蟲
YisouSpider      無用爬蟲(已被UC神馬搜索收購,此蜘蛛可以放開?。?
jikeSpider      無用爬蟲
MJ12bot        無用爬蟲
ZmEu phpmyadmin    漏洞掃描
WinHttp        采集cc攻擊
EasouSpider      無用爬蟲
HttpClient      tcp攻擊
Microsoft URL Control 掃描
YYSpider       無用爬蟲
jaunty        wordpress爆破掃描器
oBot         無用爬蟲
Python-urllib     內(nèi)容采集
Indy Library     掃描
FlightDeckReports Bot 無用爬蟲
Linguee Bot      無用爬蟲

nginx 防盜鏈配置

背景:防止第三方引用鏈接訪問我們的圖片,消耗服務器資源和網(wǎng)絡流量,我們可以在服務器上做防盜鏈限制。
實現(xiàn)防盜鏈的方式有兩種:refer方式和簽名方式。

refer方式實現(xiàn)防盜鏈

工作模塊:ngx_http_referer_module。

作用變量:$invalid_referer,全局變量。

配置域:server, location

配置:

server {
  listen 80;
  server_name www.imcati.com refer-test.imcati.com;
  root /usr/share/nginx/html;
  location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    valid_referers none blocked www.imcati.com;
    if ($invalid_referer) {
      return 403;
      }
   }
  }
  • valid_referers: 指定資源訪問是通過以下幾種方式為合法,即白名單。 vaild_referers 有效的引用連接,如下,否則就進入$invaild_refere,返回403 forbiden。
  • none:允許缺失的頭部訪問。
  • blocked:允許referer沒有對應值的請求。
  • server_names:若referer站點域名與server_name中本機配的域名一樣允許訪問。

到此這篇關(guān)于nginx 防盜鏈防爬蟲配置詳解的文章就介紹到這了,更多相關(guān)nginx 防盜鏈防爬蟲配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標簽:澳門 嘉興 齊齊哈爾 衡陽 亳州 烏海 拉薩 運城

巨人網(wǎng)絡通訊聲明:本文標題《nginx 防盜鏈防爬蟲配置詳解》,本文關(guān)鍵詞  nginx,防盜,鏈防,爬蟲,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《nginx 防盜鏈防爬蟲配置詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于nginx 防盜鏈防爬蟲配置詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章