Web 使用robots.txt的安全问题
我正试图阻止web搜索爬虫为我的web服务器上的某些私有页面编制索引。说明包括在Web 使用robots.txt的安全问题,web,robots.txt,Web,Robots.txt,我正试图阻止web搜索爬虫为我的web服务器上的某些私有页面编制索引。说明包括在robots.txt文件中,并将其放入我的域的根目录中 但我对这种方法有一个问题,主要是,任何人都可以访问www.mywebsite.com/robots.txt,查看结果如下: # robots.txt for Sites # Do Not delete this file. User-agent: * Disallow: /php/dontvisit.php Disallow: /hiddenfolder/
robots.txt
文件中,并将其放入我的域的根目录中
但我对这种方法有一个问题,主要是,任何人都可以访问www.mywebsite.com/robots.txt
,查看结果如下:
# robots.txt for Sites
# Do Not delete this file.
User-agent: *
Disallow: /php/dontvisit.php
Disallow: /hiddenfolder/
这会告诉任何人我不想让任何人去的页面
你知道如何避免这种情况吗
这里有一个我不想公开的页面示例:我的软件许可证付款的PayPal验证页面。页面逻辑不会让一个无用的请求通过,但它会浪费带宽(用于PayPal连接,以及在我的服务器上进行验证),并且会将连接尝试条目记录到数据库中
PS2。我不知道这个页面的URL是如何“公开”的。除了我的服务器上的PayPal和via.php脚本之外,它没有在任何地方列出。页面本身的名称类似于:
/php/ipnius726.php
,因此它不是爬虫可以猜测的简单内容。您可以将想要保持未绘制和模糊的内容放入子文件夹。因此,例如,将页面放入/hiddenfolder/aivnafgr/hfaweufi.php
(其中aivnafgr
是hiddenfolder
的唯一子文件夹,但如果将“隐藏”放在robots.txt中,只需将hiddenfolder
放在robots.txt中即可。子目录下的页面,类似于private
,然后您可以只禁止:/private
,而不公开该目录中任何内容的名称
我看到的另一个技巧是为不诚实的机器人创建一种蜜罐,明确列出一个实际上不属于你网站的文件,看看是谁请求它。比如
Disallow:/honeypot.php
,你知道对honeypot.php
的任何请求都来自一个正在抓取你ro的客户端bots.txt
,因此您可以将该用户代理字符串或IP地址列入黑名单。URL是公共的。讨论结束。您必须假设如果您将URL保持足够长的时间不变,它将被访问
您可以做的是:
这就是你所能做的。你说你不想重写你的URL(例如,所有不允许的URL都以相同的路径段开始) 相反,您还可以指定不完整的URL路径,这不需要任何重写 因此,要禁止
/php/ipnius726.php
,可以使用以下robots.txt:
User-agent: *
Disallow: /php/ipn
这将阻止路径以/php/ipn
开头的所有URL,例如:
http://example.com/php/ipn
http://example.com/php/ipn.html
http://example.com/php/ipn/
http://example.com/php/ipn/foo
http://example.com/php/ipnfoobar
http://example.com/php/ipnius726.php
是的,这是一种方法。不幸的是,这将涉及到重写站点的基础设施,这是一个相当昂贵的提议。是的,我知道URL是公共的。我的想法是将
X-Robots-Tag:noindex,nofollow
添加到每个私有页面的响应头中,但不幸的是一些爬虫不阅读它。很好我知道,谢谢。