nginx
防盗链防爬虫配置详解
本文主要介绍nginx防盗链的防爬虫配置的详细说明。通过示例代码非常详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友下面跟边肖学习。
创建一个新的配置文件(例如,进入nginx安装目录下的conf目录并创建:agent_deny.conf)
if($http_user_agent~*(Scrapy|curl|httpclient)){return403;}
禁止UA和UAas空访问
#forbiddenScrapy
if($http_user_agent~*(Scrapy|Curl|HttpClient))
{
return403;
}
#forbiddenUA
if($http_user_agent~"Bytespider|FeedDemon|JikeSpider|IndyLibrary|AlexaToolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|MicrosoftURLControl|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReportsBot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$")
{
return403;
}
#forbiddennotGET|HEAD|POSTmethodaccess
if($request_method!~^(GET|HEAD|POST)$)
{
return403;
}
然后,在网站相关配置的服务器部分插入以下代码:includeagent_deny.conf
重新启动nginx:
/data/nginx/sbin/nginx-sreload
测试curl-A以模拟抓取,例如:
curl-I-A'YYSpider'<<www.xxx.con>>
结果
[root@11conf]#curl-I-A'YYspider'www.XXX.cn
HTTP/1.1403禁止
服务器:nginx/1.12.0
日期:2019年4月24日星期三11:35:21GMT
内容-类型:text/html
内容-长度
用空:
的UA模拟抓取
curl-I-A''<<www.xxx.cn>>
结果
[root@11conf]#curl-I-A''www.XXX.cn
HTTP/1.1403Forbidden
服务器:nginx/1.12.0
日期:2019年4月24日星期三11:36:06GMT
内容类型:text/html
内容长度:169
模拟百度蜘蛛抓取:
curl-I-A'Baiduspider'<<<www.xxx.cn>>>
[root@11conf]#curl-I-A'Baiduspider'www.XXX.cn
HTTP/1.1200OK
服务器:nginx/1.12.0
日期:2019年4月24日星期三11:36:47GMT
内容-类型:text/html
内容-内容
UA类型
FeedDemon内容采集
BOT/0.1(BOTforJCE)sql注入
CrawlDaddysql注入
Java内容采集
Jullo内容采集
Feedly内容采集
UniversalFeedParser内容采集
ApacheBenchcc攻击器
Swiftbot无用爬虫
YandexBot无用爬虫
AhrefsBot无用爬虫
YisouSpider无用爬虫(已被UC神马搜索收购,此蜘蛛可以放开!)
jikeSpider无用爬虫
MJ12bot无用爬虫
ZmEu
phpmyadmin漏洞扫描
WinHttp采集cc攻击
EasouSpider无用爬虫
HttpClienttcp攻击
MicrosoftURLControl扫描
YYSpider无用爬虫
jauntywordpress爆破扫描器
oBot无用爬虫
Python-urllib内容采集
IndyLibrary扫描
FlightDeckReportsBot无用爬虫
LingueeBot无用爬虫
nginx防盗链配置
背景:为了防止第三方引用链接访问我们的图片,消耗服务器资源和网络流量,我们可以在服务器上限制防盗链。
防盗链有两种实现方式:参考模式和签名模式。
参考防盗链实现方式
工作模块:ngx_http_referer_module。
*** 作变量:$invalid_referer,全局变量。
配置域:服务器,位置
配置:
server{
listen80;
server_namewww.imcati.comrefer-test.imcati.com;
root/usr/share/nginx/html;
location~*\.(gif|jpg|jpeg|png|bmp|swf)${
valid_referersnoneblockedwww.imcati.com;
if($invalid_referer){
return403;
}
}
}
Valid_referers:指定资源访问在以下方面是合法的,即白名单。vaild_referers的有效引用连接如下,否则输入$invalid_refer并返回403forbiden。
无:允许缺少的标题访问。
Blocked:允许没有相应referer值的请求。
Server_names:如果引用站点域名与server_name中的本地域名一样容易访问。
关于nginx反爬虫链的详细配置,本文到此为止。关于nginx反爬虫链配置的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
评论列表(0条)