使用.htaccess文件规则阻止特定蜘蛛访问

闲聊 无标签
2 74
WIZ
WIZ 自成一派 2025-01-10 19:57:28
Lv:39级

最近发现日志里有很多没见过的蜘蛛UA,基本上都是国外的一些搜索引擎,或者很本不是搜索引擎,有的抓取频率很高,例如:SemrushBot,这是一家靠销售数据的公司,但对于被爬行的网站来说,没有任何价值。

刚开始设置了下robots.txt,因为他们首先都抓取了robots.txt,应该是遵守规则的,没想到人家只是走个过场,并没有把robot.txt放在眼里。
对于这些无用的爬虫,我们可以在网站日志logs中分析日志文件,获得爬虫名称使用.htaccess文件规则进行屏蔽。
可以参考以下教程创建:

在.htaccess文件中写入如下规则:

SetEnvIfNoCase User-Agent "^SemrushBot" bad_bot

Deny from env=bad_bot

如果要屏蔽多个爬虫,就增加SetEnvIfNoCase行,如下:

SetEnvIfNoCase User-Agent "^SemrushBot" bad_bot

SetEnvIfNoCase User-Agent "^SEOkicks" bad_bot

Deny from env=bad_bot

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

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

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

.htaccess

RewriteCond %{HTTP_USER_AGENT} ^.*Scrapy.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*ExtLinksBot.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*YandexBot.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*MauiBot.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*Python.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*SemrushBot.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*NetcraftSurveyAgent.* [NC]

RewriteRule ^(.*)$ http://www.baidu.com/ [L]

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

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

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

楼主签名:DNSWIZ 站长故事
回帖
回复列表
  • WIZ
    7天前

    附一部分垃圾垃圾爬虫和扫描

    FeedDemon 内容采集

    BOT/0.1 sql注入

    CrawlDaddy sql注入

    Java 内容采集

    Jullo 内容采集

    Feedly 内容采集

    UniversalFeedParser 内容采集

    ApacheBench cc攻击器

    Swiftbot 无用爬虫

    YandexBot 无用爬虫

    AhrefsBot 无用爬虫

    YisouSpider 无用爬虫

    jikeSpider 无用爬虫

    MJ12bot 无用爬虫

    ZmEu phpmyadmin 漏洞扫描

    WinHttp 采集cc攻击

    EasouSpider 无用爬虫

    HttpClient tcp攻击

    Microsoft URL Control 扫描

    YYSpider 无用爬虫

    jaunty wordpress爆破扫描器

    oBot 无用爬虫

    Python-urllib 内容采集

    Indy Library 扫描

    FlightDeckReports Bot 无用爬虫

    Linguee Bot 无用爬虫

    共0条回复,点击查看回复
    0 回复
  • WIZ
    7天前
    从网上收集的一些恶意或无用User-Agent关键词,通过User-Agent屏蔽访问,包含漏洞扫描,无用蜘蛛,采集爬虫,cc攻击,sq注入等等。

    (Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub-client|Harvest|hloader|httplib|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|JennyBot|k2spider|Kenjin Spider|Keyword Density0.9|larbin|LexiBot|libWeb|LinkextractorPro|linko|LinkScan8.1a Unix|LinkWalker|LNSpiderguy|lwp-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient.com|ProPowerBot2.14|ProWebWalker|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck.Internetseer.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz1.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader6.9|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr-agent|WWW-Collector-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files|BOT/0.1|YisouSpider|Jullo|YandexBot|WinHttp|Linguee Bot|HTTrack|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BabyKrokodil|netsparker|httperf| SF/)

    共0条回复,点击查看回复
    0 回复