我希望阻止搜索引擎和抓取工具访问某些网址www.example.com/no_crawl/XXX
,这些网址编码很少访问但CPU占用率很高的网页。
该技术不应该依赖于咨询通知(robots.txt,no-follow标签),因为坏演员很容易忽略这些通知,我无法抓住这个机会。
我想知道是否需要一些用户交互可能足以阻止搜索引擎。但我不知道会有多么偏执,欢迎你的想法。
在最基本的层面上有:
<a href="javascript:alert('Click OK to prove you are human.');window.location='http://www.example.com/no_crawl/X1';">
Show the page
</a>
或者今天执行javascript的抓取工具会理解alert
什么都不做,所以转到位置设置步骤,了解它在做什么,然后访问我不在的页面#39 ;他们想要他们吗?
在你说刮刀仍然可以看到网址之前,我认为最好是这样做:
<script>
function was_clicked() {
a = 'http://www.exam';
b = 'ple.com/no_crawl/X1';
alert( 'Click OK to prove you are human.' );
window.location = a+b;
}
</script>
<a href="javascript:was_clicked();">Show the page</a>
或者我应该变得更复杂?我真的不想使用CAPTCHA,因为它会劝阻用户。
感谢。
编辑:
检测用户代理不起作用,因为不良演员可以欺骗它,并且因为有太多的代理类型需要跟踪白名单或黑名单。
Cookie的想法很有趣,例如在要点击的链接上使用鼠标悬停事件将其组合在一起。然而,URL仍然需要加扰,以挫败刮刀,所以我仍然对这需要多少javascript感兴趣。
网页上尚未提供这些网页。很好的想法。