gpt4 book ai didi

php - 允许 Google 绕过 CAPTCHA 验证 - 明智与否?

转载 作者:可可西里 更新时间:2023-10-31 23:00:01 27 4
gpt4 key购买 nike

我的网站有一个数据库查询;填写验证码会给您 5 分钟的查找时间。还有一些自定义代码可以检测任何自动化脚本。我这样做是因为我不希望有人对我的网站进行数据挖掘。

问题是 Google 在抓取我的网站时看不到查找结果。如果有人正在搜索查找结果中存在的字符串,我希望他们通过谷歌搜索找到该页面。

对我来说显而易见的解决方案是使用 PHP 变量 $_SERVER['HTTP_USER_AGENT'] 来绕过 Google 机器人的验证码和自定义安全代码。我的问题是这是否明智。

人们随后可以使用 Google 的缓存查看查找结果而无需填写验证码,但 Google 自己的脚本检测方法会阻止他们对这些页面进行数据挖掘吗?

或者人们是否可以通过某种方式让 $_SERVER['HTTP_USER_AGENT'] 显示为 Google 以绕过安全措施?

提前致谢。

最佳答案

Or would there be some way for people to make $_SERVER['HTTP_USER_AGENT'] appear as Google to bypass the security measures?

当然。用户代理很容易伪造。参见例如User Agent Switcher for Firefox .垃圾邮件机器人也很容易将其用户代理 header 设置为 Google 机器人。

不过,它可能仍然值得一试。我会说只是尝试一下,看看结果是什么。如果遇到问题,您可能需要考虑其他方法。

识别 Google 机器人的另一种方法可能是它使用的 IP 范围。我不知道机器人是否使用定义的 IP 范围 - 可能不是这种情况,您必须找出答案。

更新:似乎可以通过分析其 IP 来验证 Google Bot。来自 Google Webmaster Central: How to verify Googlebot

Telling webmasters to use DNS to verify on a case-by-case basis seems like the best way to go. I think the recommended technique would be to do a reverse DNS lookup, verify that the name is in the googlebot.com domain, and then do a corresponding forward DNS->IP lookup using that googlebot.com name; eg:

host 66.249.66.1 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

host crawl-66-249-66-1.googlebot.com crawl-66-249-66-1.googlebot.com has address 66.249.66.1

I don't think just doing a reverse DNS lookup is sufficient, because a spoofer could set up reverse DNS to point to crawl-a-b-c-d.googlebot.com.

关于php - 允许 Google 绕过 CAPTCHA 验证 - 明智与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621533/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com