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

不知道我们各位朋友们的网站是否有出现流量不大,但是我们的主机商会告诉我们某个时间段的时候网站被大量的攻击导致内存占据超标,要求我们处理。同样的,如果我们自己在使用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爬虫。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"Yongwp.com",如遇到无法解压的请联系管理员!
WordPress外贸建站 » 通过设定.htaccess和nginx.conf禁止恶意User Agent网页爬虫

查看优质的WP整站案例

立即查看 联系我们