有没有办法基本上在您的顶级域上设置允许所有策略,而任何子域都禁止所有策略?我宁愿我的面向公众的应用服务器不被索引,但据我所知,当它通过链接从我们的顶级域跳转到子域时,没有机器人甚至轮询 robots.txt。
我一直觉得绘制 robots.txt 的所有禁区是向任何想知道好东西在哪里的人提供路线图。
哪种类型的 Robots.txt 安全策略最适合 webapp 环境?
有没有办法基本上在您的顶级域上设置允许所有策略,而任何子域都禁止所有策略?我宁愿我的面向公众的应用服务器不被索引,但据我所知,当它通过链接从我们的顶级域跳转到子域时,没有机器人甚至轮询 robots.txt。
我一直觉得绘制 robots.txt 的所有禁区是向任何想知道好东西在哪里的人提供路线图。
哪种类型的 Robots.txt 安全策略最适合 webapp 环境?
您假设忽略子域上的 robots.txt 是不正确的。大多数搜索引擎会抓取并遵守各个子域的 robots.txt。
如果你希望你可以指示蜘蛛不要索引你网站的元素而不在 robots.txt 中列出它们,通过以下任一方式:
<meta name="robots" content="noindex" />到网页的 HTMLX-Robots-Tag: noindex到您的 HTTP 标头此处提供更多详细信息
但是,无论如何,您都不应该依赖 robots.txt 来确保安全。您在这里倾向于通过默默无闻的安全性,这被广泛认为是一个坏主意。
安全方面,robots.txt 的使用有两个规则。
因此,无论如何,请使用 robots.txt 告诉搜索引擎您希望它们索引您网站的哪些部分,以及何时重新访问它们,但切勿使用它来确保安全。如果您有要隐藏的内容,请使用实际保护(如果您不希望某些内容出现在搜索引擎结果中,那么您可能无论如何都应该使用密码保护它)。
您永远不应依赖 robots.txt 为您提供任何自由裁量权或安全性。
当然,大型引擎会尊重它,但任何人都可以编写爬虫并找到“好东西”,正如你所说的那样。
如果您的网络服务器上存在您不希望每个人都能够访问的资源,您应该使用 .htaccess 或类似机制来限制权限,具体取决于服务器。
正如 Kenny 所说,不要依赖 robots.txt 来确保安全。如果您不希望将页面编入索引,则有三个选项(如果爬虫遵循指南,有些则不会):
rel=nofollow,noindex链接标签,爬虫不应该遵循或索引。deny /<meta name="robots" content="noindex,nofollow" />到爬虫不应索引的每个页面。X-Robots-Tag: noindex,nofollow,其作用与标头标记相同。会有爬虫忽略这一点,但大的应该遵循这些规则而不是索引这些页面。