木头虫在家

  • 系统
  • 网络
  • 技术
  • 安全
  • 运维
  • 应用
木头虫在家
蜘蛛网
  1. 首页
  2. 安全
  3. 正文

网站如何屏蔽垃圾蜘蛛爬取?

2019年6月18日 1181点热度 0人点赞 0条评论

网站一般欢迎蜘蛛访问,因为蜘蛛意味着搜索排名和流量,但有时候,大量垃圾蜘蛛甚至爬虫访问很影响性能,特别是服务器配置不高的情况下,那么我们该怎样屏蔽掉垃圾蜘蛛呢?

一般来说,屏蔽蜘蛛的爬取有三种方法:

  • Robots 禁封
  • UA 禁封
  • IP 禁封

一、Robots 禁封

Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),用来告诉搜索引擎、爬虫哪些页面可以抓取,哪些页面不能抓取。

Robots 协议在网站中体现在根目录下的 robots.txt 文件,一般格式入下:

User-agent: YisouSpider
Disallow: /
User-agent: EasouSpider
Disallow: /
User-agent: *
Disallow: /admin/

正规 Robot 在爬取网站前都会先读取该文件,根据 robots.txt 指示爬取,但是由于 Robots 协议并不是一个规范,而是约定俗成的,所以只能引导正规蜘蛛爬取,并不能阻止垃圾蜘蛛,因此要屏蔽流氓垃圾蜘蛛还需要其他更严格的措施来配合。

二、UA 禁封

UA(User Agent)中文名为用户代理,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等,大多数蜘蛛都有携带此信息,如谷歌 Chrome 浏览器 Windows 版本 UA 是:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36

针对指定 UA 的访问,返回预先设定好的异常页面(如 403,500)或跳转到其他页面的情况,即为 UA 禁封。

Nginx 下,可以单独创建一个配置文件,如 deny-robots.conf,并将文件添加到 nginx.conf 或网站配置中,然后重新加载 Nginx 即可。

例如 deny-robots.conf 在 /etc/nginx/conf/ 文件夹下,deny-robots.conf 内容:

if ($http_user_agent ~ "InetURL|Pcore-HTTP|PocketParser|Wotbox|SEMrushBot|newspaper|DnyzBot|Mechanize|redback|ips-agent|Sogou Pic Spider|python-requests|PiplBot|SMTBot|WinHTTP|Auto Spider 1.0|GrabNet|TurnitinBot|Go-Ahead-Got-It|Download Demon|Go!Zilla|GetWeb!|GetRight|libwww-perl|Cliqzbot|MailChimp|SMTBot|Dataprovider|XoviBot|linkdexbot|feedreader|SeznamBot|Qwantify|spbot|evc-batch|zgrab|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms|^$")
  {
  return 444;
  }

则在网站配置中添加:

server {
......
include deny-robots.conf
......
}

然后,service nginx reload 即可生效,Apache 等其他软件操作类似。

解释一下,这个配置的意思是 判断访问者 UA 是否包含引号中的字符串,若为真,则返回错误码 444,其中错误码 444 是 nginx 独有的错误码,表示服务器不返回任何数据,直接丢弃。。

由于 UA 禁封是由 Nginx 或 Apache 等已经到应用层才处理,因此即使已经禁止爬取访问,蜘蛛仍然会先与服务器创建连接,浪费资源,为此,针对特别流氓的蜘蛛,可以通过防火墙在底层拒绝连接。

三、IP 禁封

IP 禁封是指利用系统自带防火墙,拒绝蜘蛛 IP 连接,此措施最为严格,且针对有特定 IP 蜘蛛,如果 IP 是随机变动的, IP 禁封意义也不大。

举例, 有 UA 为 ”WF search/Nutch-1.12“ 的蜘蛛,通过 IP 183.94.118.76 与服务器产生大量连接访问,影响到正常运行,则通过以下命令禁止连接(CentOS7):

生效后此 IP 将无法再与服务器产生连接

整理了一份清单上传到 GitHub,链接:https://github.com/vircloud/ips ,可以作为参考。

Views: 383
标签: 服务器 蜘蛛
最后更新:2019年6月18日

admin

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

您需要 登录 之后才可以评论
分类
  • 值的推
  • 域名主机
  • 安全
  • 应用
  • 技术
  • 未分类
  • 系统
  • 网络
  • 运维
最新 热点 随机
最新 热点 随机
Windows 11访问局域网共享文件时出现报错 “出现了扩展错误”解决办法 4s店修理工秘密,车开到报废,这几种东西不必换 联想K4e-ITL重装WIN系统蓝屏解决方案 上学出路在哪里 windows远程桌面中如何发送CTRL+ALT+DEL命令 linux查看远程文件保存到本地,复制一个文件到新文件未尾命令 电脑分区盘符不见了怎么找回 Windows系统通过命令行工具启用禁用网卡 攻防演练之企业网络安全体系建设历程 网络安全加固10条及攻防演练安全要求50条
Windows 11访问局域网共享文件时出现报错 “出现了扩展错误”解决办法
使用PE对系统C盘扩容遇到的问题(BitLocker解密、) Win10微软商店丢失不见了?重新安装Microsoft Store详细方法,离线安装Microsoft Store应用商店程序 Win10/11关机后主机依旧运行,电源键灯一直亮解决办法 windows蓝屏分析WinDbg excel表格在打印时如何把第一行的标题打印到所有页上 Juniper EX系列交换机基础配置文件 Vmware Workstation虚拟机繁忙导致无法关机 debian10系统openssl升级到最新版及error while loading shared libraries: libssl.so.3解决办法 腾讯云 优惠活动 h3c 无线控制器 判断查看无线空口利用率

COPYRIGHT © 2025 blog.qmun.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备11036795号