许多人关心在/robots.txt列出页面或者文件夹可能会带来意想不到的访问。以下雅言对此的一些分析:

    一种情况:你把所有不想让蜘蛛爬虫访问的文件放在一个特殊的子目录,然后在服务器配置不显示这个目录的文件,然后把这个目录列在/robots.txt的禁止访问列表中。这样怀有恶意的爬虫程序一旦发现有人在网络上放了一个带有这个特殊子目录包含的链接,那么就会扫描访问这个特殊的子目录,这样你的robot.txt就无能为力了。

    例如,不采用这样定义:

User-Agent: *
Disallow: /foo.html
Disallow: /bar.html

    而是这样定义:

User-Agent: *
Disallow: /norobots/

    这样就在robots.txt下建立了一个屏蔽蜘蛛程序的/norbots/文件夹,把foo.html和bar.html文件夹放入这个文件夹,然后配置你的服务器不生成这个文件夹的列表。这样攻击者只知道你有一个名字为norobots的目录,但是其并不能够列出文件夹里面的的文件,要猜测出来文件夹里面文件的名字可不是一件简单的事情。

    实际上/robots.txt的目的并不是用来进行访问控制的,所以不要试图使用这个文件做访问权限控制。可以把/robots.txt理解为一个“禁止通行”的牌子,但不能理解为他是一个“紧锁的门”。如果你网站上有一些文件或文件夹,你不想让未被授权的人访问,这样的话配置你的服务器来做权限控制,配置适当的权限鉴权。基本的权限验证从早期的web支持,现在的内容管理系统也支持文件资源的访问控制。

原创文章如转载,请注明:转载自雅言 [ https://www.fantiz5.com/blog/ ]
需保留本文链接地址:https://www.fantiz5.com/blog/post/8.html