首页后端开发其他后端知识通过设定.htaccess和nginx.conf禁止恶意User Agent网页爬虫

通过设定.htaccess和nginx.conf禁止恶意User Agent网页爬虫

时间2024-05-25 02:28:03发布访客分类其他后端知识浏览955
导读:不知道我们各位朋友们的网站是否有出现流量不大,但是我们的主机商会告诉我们某个时间段的时候网站被大量的攻击导致内存占据超标,要求我们处理。同样的,如果我们自己在使用VPS主机环境建站的时候,有些时候因为模拟蜘蛛的抓取、采集,以及有些空User...

不知道我们各位朋友们的网站是否有出现流量不大,但是我们的主机商会告诉我们某个时间段的时候网站被大量的攻击导致内存占据超标,要求我们处理。同样的,如果我们自己在使用VPS主机环境建站的时候,有些时候因为模拟蜘蛛的抓取、采集,以及有些空User Agent爬虫的抓取,会导致服务器压力较大,内存一直处于较高的占用状态。

往往这样大部分的原因是因为有些被恶意或者故意的User Agent蜘蛛抓取导致的服务器内存占用超过导致网站的访问不能正常,我们可以通过设定.htaccess(Apache服务器)和nginx.conf(Nginx服务器)来解决这些问题。

我们要善于分析网站的日志,在日志中,我们可能会看到有很多来路不明的蜘蛛(搜索引擎之外的蜘蛛我们都可以屏蔽),我们只需要屏蔽掉就可以解决这些问题。

第一、Apache环境

如果我们的虚拟主机、VPS服务器,采用的是Apache环境,我们可以在网站根目录的.htaccess文件进行设置。

RewriteEngine On
RewriteCond %{ HTTP_USER_AGENT} (^$|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|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]RewriteRule ^(.*)$ - [F]

修改我们网站的.htaccess文件,屏蔽一些没有必要的蜘蛛User Agent。这里我们较为常用的是屏蔽空User Agent。

RewriteEngine On
RewriteCond %{ HTTP_USER_AGENT} ^$
RewriteRule ^(.*)$ - [F]

第二、Nginx环境

Nginx环境的配置不能像Apache直接在网站根目录的配置文件丢上禁止爬虫的文件,需要在Nginx.conf文件中处理。

1、新建agent_deny.conf

vi /usr/local/nginx/conf/agent_deny.conf

在上面目录中创建一个新的.conf文件。

if ($http_user_agent ~* "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|Webbench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|Scrapy|Curl|wget") {
return 403;
}

if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}

2、添加调用文件

然后我们在/usr/local/nginx/conf/站点配置文件.conf中添加:

include agent_deny.conf;

在server中添加就可以。

3、重启Nginx

根据我们使用的环境重启nginx或者重启VPS也可以。

总结,这样通过上面的方法,我们可以对自己网站环境的Nginx或者Apache网站结构进行部署屏蔽恶意、无用User Agent爬虫。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 通过设定.htaccess和nginx.conf禁止恶意User Agent网页爬虫
本文地址: https://pptw.com/jishu/667447.html
3.js Macbook系统环境安装wget的2个方法 - 传统包及Homebrew安装

游客 回复需填写必要信息