我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
当前回答
更新
原来的答案不再正确了。开发者指南现在声明:
"如果您想使用"localhost"进行开发,必须将其添加到域列表中。"
这将只在您使用127.0.0.1/…访问localhost时有效。而不是localhost/....
原答案保存在下面。
根据reCAPTCHA开发者指南:
默认情况下不再支持localhost域。如果您希望继续支持它们进行开发,您可以将它们添加到站点密钥支持的域列表中。转到管理控制台更新受支持的域列表。我们建议在开发和生产中使用单独的密钥,并且不允许在生产站点中使用localhost密钥。”
换句话说,就是使用相同的键。
其他回答
根据谷歌的reCAPTCHA文档
默认情况下不再支持本地主机域。如果你愿意 继续支持他们的发展,你可以将他们添加到列表中 您的站点密钥支持的域。转到管理控制台 更新受支持的域列表。我们建议使用单独的钥匙 用于开发和生产,并且不允许在您的 生产现场密钥
请注意,从2016年起,reCAPTCHA不再支持本地主机。常见问题解答:
默认情况下不再支持本地主机域。如果你愿意 继续支持他们的发展,你可以将他们添加到列表中 您的站点密钥支持的域。转到管理控制台 更新受支持的域列表。我们建议使用单独的钥匙 用于开发和生产,并且不允许在您的 生产站点密钥。
只需将localhost添加到您的站点域名列表中,就可以了。
我最近正在创建一个涉及reCAPTCHA v2的网站,我需要在我的本地主机上进行自动化测试。我没有向reCAPTCHA管理门户添加任何IP地址或本地主机。
遵循以下步骤
登录到reCAPTCHA管理站点。截图 定位关键设置 点击高级设置 在“域名验证”下,取消选中“验证reCAPTCHA解决方案的来源”复选框。此选项用于验证来自上述列出的域之一的请求。 请注意,如果禁用,则在验证解决方案时需要检查服务器上的主机名。
我创建了一个新密钥,禁用了它,并使用这个密钥在localhost中进行测试。
这是一个示例页面,它为注释实现了reCAPTCHA。
你可以写“localhost”或“127.0.0.1”,但URL必须相同。
例如:谷歌domain Add -> localhost URL => localhost/login.php
例如:谷歌域Add -> 127.0.0.1 URL => 127.0.0.1/login.php
这可以帮助所有在本地主机上使用reCAPTCHA时遇到问题的用户。谷歌确实说“默认情况下,所有密钥都在'localhost'(或'127.0.0.1')上工作”,但实际上在localhost上使用reCAPTCHA可能会导致问题。在我的例子中,我使用安全令牌解决了这个问题。
我在这里发布了一个PHP的工作解决方案。