从追寻 flag 到认识 Robots Protocol(Robots协议)

Robots Protocol

robots 协议,首先了解robots.txthtml

robots.txt 是搜索引擎中访问网站的时候要查看的第一个文件【是一种存放于网站根目录下的ASCII编码的文本文件】,它一般告诉网站搜索引擎的漫游器(又称网络蜘蛛):此网站中的哪些内容是不该该被搜索引擎的漫游其获取的,哪些是能够获取的。web

在抓取网页时大部分网络爬虫会遵循Robot.txt协议,网站自己能够用两种方式声明不想被搜索引擎收入的内容,第一种方式,是在站点的根目录上增长一个纯文本文件/robots.txt , 另一种表示方式是直接在html页面中使用Robots 的标签。正则表达式

当一个搜索蜘蛛访问到一个网站时,它会首先检查该站点目录下是否存在robots.txt,若是存在,搜索机器人就会按照该文件中的内容来肯定访问的范围,若是该文件不存在,全部的搜索蜘蛛将可以访问网站上的全部没有被口令保护的页面。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
此文本文件中能够指定不一样的网络爬虫可以访问的页面和禁止访问的页面,指定的由正则表达式表示,网络爬虫在采集这个网站以前,首先获取这个文本文件,而后解析其中的规则,再根据规矩来采集网站的数据。安全

Robots协议规则服务器

User-agent: * 这里的*表明的全部的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的全部以".htm"为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中全部包含问号 (?) 的网址
Disallow: /.jpg$ 禁止抓取网页全部的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
Allow: /cgi-bin/ 这里定义是容许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是容许爬寻tmp的整个目录
Allow: .htm$ 仅容许访问以".htm"为后缀的URL。
Allow: .gif$ 容许抓取网页和gif格式图片
Sitemap: 网站地图 告诉爬虫这个页面是网站地图

附上连接:【文件的具体写法】https://blog.csdn.net/God_XiangYu/article/details/100602297网络

robots不是一种规范,而是约定俗成的,因此没法保证网站的隐私,robots文件既不是命令,也不是防火墙,任何一个编辑文本的编辑器便可编辑。编辑器

相信不少人了解到此协议都是从爬虫开始,因此此协议又常常被称为机器人排除标准ide

因为是创建在网站和爬虫之间,总有些误区:svg

误区一:网站上的全部文件都须要蜘蛛抓取,那我就不必在添加robots.txt文件了。若是该文件不存在,全部的搜索蜘蛛将默认可以访问网站上全部没有被口令保护的页面。网站

每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(没法找到文件)。
每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,
因此你应该作网站中添加一个robots.txt。

误区二:在robots.txt文件中设置全部的文件均可以被搜索蜘蛛抓取,这样能够增长网站的收录率。

网站中的程序脚本、样式表等文件即便被蜘蛛收录,也不会增长网站的收录率,
还只会浪费服务器资源。所以必须在robots.txt文件里设置不要让搜索蜘蛛索引这些文件。

误区三:搜索蜘蛛抓取网页太浪费服务器资源,在robots.txt文件设置全部的搜索蜘蛛都不能抓取所有的网页。

若是这样的话,会致使整个网站不能被搜索引擎收录。

Despite the use of the terms “allow” and “disallow”, the protocol is purely advisory and relies on the compliance of the web robot. Malicious web robots are unlikely to honor robots.txt; some may even use the robots.txt as a guide to find disallowed links and go straight to them. While this is sometimes claimed to be a security risk, this sort of security through obscurity is discouraged by standards bodies. The National Institute of Standards and Technology (NIST) in the United States specifically recommends against this practice: "System security should not depend on the secrecy of the implementation or its components."In the context of robots.txt files, security through obscurity is not recommended as a security technique.

【翻译】

尽管使用了“容许”和“禁止”这两个术语,但该协议纯粹是建议性的,而且依赖于网络机器人的合规性。 恶意网络机器人不太可能尊重robots.txt; 有些人甚至可使用robots.txt做为指导来查找不容许的连接并直接找到它们。 虽然这有时被认为是一种安全风险,标准机构不鼓励这种经过无声的安全措施。 美国国家标准与技术研究院(NIST)特别建议不要采用这种作法:“系统安全不该取决于实施或其组件的保密性。”在robots.txt文件的背景下,不推荐将经过隐藏实现安全性做为一种安全技术。

相关文章
相关标签/搜索