我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
当前回答
如果您有一个旧的密钥,您应该重新创建您的API密钥。还要注意代理。
其他回答
这可以帮助所有在本地主机上使用reCAPTCHA时遇到问题的用户。谷歌确实说“默认情况下,所有密钥都在'localhost'(或'127.0.0.1')上工作”,但实际上在localhost上使用reCAPTCHA可能会导致问题。在我的例子中,我使用安全令牌解决了这个问题。
我在这里发布了一个PHP的工作解决方案。
对我来说有效的方法是使用我的外部IP地址。
如果你不知道它是什么,就谷歌“我的IP是什么”
然后使用您的IP地址,并在您的域设置验证码,它应该开始工作。
更新
原来的答案不再正确了。开发者指南现在声明:
"如果您想使用"localhost"进行开发,必须将其添加到域列表中。"
这将只在您使用127.0.0.1/…访问localhost时有效。而不是localhost/....
原答案保存在下面。
根据reCAPTCHA开发者指南:
默认情况下不再支持localhost域。如果您希望继续支持它们进行开发,您可以将它们添加到站点密钥支持的域列表中。转到管理控制台更新受支持的域列表。我们建议在开发和生产中使用单独的密钥,并且不允许在生产站点中使用localhost密钥。”
换句话说,就是使用相同的键。
这招对我很管用:
摘自reCAPTCHA文档:
使用以下测试键,您将始终得到No CAPTCHA和所有 验证请求将通过。 网址:6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI 密钥:6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe reCAPTCHA小部件将显示一条警告消息,声称它是 仅作测试用途。请不要用这些钥匙 生产流量。
对我来说,它可以删除我的实际配置并创建一个新的配置,添加如下域: