【发布时间】:2012-08-23 11:23:39
【问题描述】:
我想让我网站的某些区域仅供浏览器用户访问,而自动化多线程机器人无法访问。我这样做是为了保护我的数据,这是我计划使用的措施之一。
我想过要求所有请求都包含一对数字,这必须用 javascript 计算,这将被混淆和模糊。但是,在那之后,没有什么可以阻止机器人编写者抓住像 htmlunit 这样的 javascrpt 机器人引擎并执行 javascripts。
Google 似乎以某种方式解决了这个问题。我记得大多数时候我在启用了 adwords 的页面上运行 HtmlUnit,脚本引擎崩溃了。然而,在真正的浏览器中,页面运行良好。
这一定是有窍门的。谁能指出我如何在我的页面上执行此操作的好信息?
【问题讨论】:
-
您能否提供更多背景信息来说明您为什么要实施此功能? robots.txt 文件是否不够严格,无法满足您的要求?
-
我正在创建一个网站,其中将包含专有数据。我希望合法用户可以访问它,并且我希望尽可能难以大规模提取该数据。 robots.txt 将被合法机器人认可,而不被提取机器人认可
-
似乎您需要适当的授权/身份验证,或者至少(可悲的是)验证码。机器人比你想象的更聪明
-
机器人通常可以很容易地解决验证码,而验证码会惹恼真正的用户。如果我能弄清楚这是如何完成的,我宁愿尝试使用 javascript 来执行此操作
-
设置登录系统即可。这是唯一的方法。机器人可以运行执行 JavaScript 以抓取数据的无头 WebKit 渲染器。
标签: javascript bots