2009-09-18 129 views
2

我收到了一堆Ajax化的链接,它们可以执行投票,投票,标记后期标准社区审核等内容。如何防止Googlebot抓取Ajaxified链接?

问题是,googlebot抓取这些链接,并投票,下注和标记项目。

将此添加到robots.txt会阻止Googlebot抓取这些链接吗?或者还有什么我需要做的?

User-agent: Googlebot 
Disallow: /item/*/flag/ 
Disallow: /item/*/vote/ 

谢谢!

编辑:更改方法发布和谷歌博客仍然标记帖子。

语法是:

<a href="onclick="$.ajax({data:'authenticity_token=' + encodeURIComponent('blahblahblah'), dataType:'script', type:'post', url:'/item/flag/236?method=post'}); return false;"> 

有什么想法?

回答

4

您应该将这些链接更改为POST而不是GET,那么您将不必担心抓取工具。还有其他原因可以做到这一点:网页缓存可能会决定缓存GET,因此当用户点击链接时,实际上并未击中您的服务器。他们不会缓存POST。

+0

+1。不要将链接用于不安全的操作。 http://www.w3.org/2001/tag/doc/whenToUseGet.html#checklist – Quentin 2009-09-18 18:21:13

+0

谢谢你们! – kareem 2009-09-18 19:08:47

+0

@rafe,我编辑了上面的帖子 - 编辑:改变方法发布和谷歌博客仍然标记帖子。 – kareem 2011-01-25 22:29:52

0

除了由于它们具有变革性而使它们成为POST请求之外,访客用户(未登录的用户)不应该有权在社区审核中投票。所以,只是排除他们投票并修复你的机器人问题。