!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>云服务器Apache利用USER_AGENT屏蔽恶意蜘蛛

云服务器Apache利用USER_AGENT屏蔽恶意蜘蛛

最近发现日志里有很多没见过的蜘蛛UA,基本上都是国外的一些搜索引擎,或者很本不是搜索引擎,有的抓取频率很高,刚开始设置了下robots.txt,因为他们首先都抓取了robots.txt,应该是遵守规则的,没想到人家只是走个过场,并没有把robot.txt放在眼里。

Apache可以用.htaccess文件来通过useragent来屏蔽一些访问,搜了一下,大概可以这么做:

 

.htaccess

SetEnvIfNoCase User-Agent ^.*Scrapy.* bad_bot

SetEnvIfNoCase User-Agent ^.*SemrushBot.* bad_bot

SetEnvIfNoCase User-Agent ^.*ExtLinksBot.* bad_bot

SetEnvIfNoCase User-Agent ^.*YandexBot.* bad_bot

SetEnvIfNoCase User-Agent ^.*MauiBot.* bad_bot

SetEnvIfNoCase User-Agent ^.*Python.* bad_bot

SetEnvIfNoCase User-Agent ^.*NetcraftSurveyAgent.* bad_bot

Deny from env=bad_bot

这样当这些匹配的useragent就会被返回403禁止访问。

可是第二天发现有几个useragent疯狂的访问robot.txt,反正都不遵守规则,那么执着的访问robots.txt干什么。。。。。

于是我换了一种方法,打算用302(301也一样啦,对这些恶意蜘蛛没那么讲究)把他们转走。

.htaccess

云服务器Apache利用USER_AGENT屏蔽恶意蜘蛛

这样,就都被302到www.kxuw.com了,现在再看那些未知的蜘蛛基本不会在主站乱爬了。

另:.htaccess的正则:”^”代表字符串的开始,”.*”代表任意字符。

NC代表不区分大小写,OR代表或者,L的意思是一旦有符合条件的规则就不再执行下面的规则,所以这些语句要放在WordPress等程序默认伪静态规则的前面。

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

云服务器cannot remove `.user.ini\': Operation not permitted

2021-4-17 17:25:35

服务器教程

云服务器mysql mysqladmin: command not found

2021-4-17 17:25:37

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase