【发布时间】:2010-04-12 11:10:47
【问题描述】:
我的网站有一个数据库查询;填写验证码会给您 5 分钟的查找时间。还有一些自定义代码可以检测任何自动化脚本。我这样做是因为我不希望有人对我的网站进行数据挖掘。
问题是 Google 在抓取我的网站时看不到查找结果。如果有人正在搜索查找结果中存在的字符串,我希望他们通过谷歌搜索找到该页面。
对我来说显而易见的解决方案是使用 PHP 变量 $_SERVER['HTTP_USER_AGENT'] 绕过验证码和 Google 机器人的自定义安全代码。我的问题是这是否明智。
然后人们可以使用 Google 的缓存查看查找结果而无需填写 CAPTCHA,但 Google 自己的脚本检测方法会阻止他们对这些页面进行数据挖掘吗?
或者有什么方法可以让$_SERVER['HTTP_USER_AGENT'] 显示为 Google 以绕过安全措施?
提前致谢。
【问题讨论】:
-
我不是专家,但我会说如果有人想挖掘您的数据库,他们会想办法吗?为什么不将每秒请求的数量限制在人道可能的范围内,而不是验证码?像每 10 秒左右 1 个左右
-
我很确定这属于“您不能将一件事发送给 Google Bots 而将另一件事发送给用户”“类别”。这种“为普通用户屏蔽但不为 Google 屏蔽”的流程会降低您的知名度。
-
我无法想象在任何情况下您的整体设计都会很好。如果您的网站上有一些公开可用的信息,它应该在具有永久地址的页面上可见,并且该页面应该列在网站导航的某个位置,以便任何搜索引擎都可以对其进行索引。根据定义,任何查找都是临时重新排列,不应被缓存或索引。您能解释一下为什么要使用这种方法吗?
-
Rob,正如我所提到的,除了验证码(它们本身确实不是很安全)之外,我还使用自定义代码来检测自动化脚本。
-
calavera.info,也许我不应该使用“查找”一词。每个“查找”都有自己的永久 URL,并链接到网站上的位置和外部网站,因此谷歌“喜欢”它们。我只是给出了在网站上查找的外观,因为它更适合内容。