我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。

在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。

有没有办法在本地主机上使用reCAPTCHA插件?


当前回答

当您在谷歌reCAPTCHA中添加域时:

添加新域:

Localhost,不是Localhost

“L”是一个大写字母。

其他回答

最新更新2022 默认情况下不支持本地主机域。如果您希望继续支持它们进行开发,可以将它们添加到站点密钥支持的域列表中。

https://developers.google.com/recaptcha/docs/faq#im-getting-an-error-localhost-is-not-in-the-list-of-supported-domains.-what-should-i-do

我添加了“localhost”,它工作得很好。

OR

对于reCAPTCHA v2,使用以下测试键。您将始终得到No CAPTCHA和所有验证请求将通过。

Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe

参考

如果您有一个旧的密钥,您应该重新创建您的API密钥。还要注意代理。

我在Laravel网站上得到了一个与reCAPTCHA相关的错误。我通过使用一些命令和一个env文件解决了这个问题,以前的答案也将有助于解决这个问题。

首先,检查env文件(在您的示例中,该文件具有谷歌reCAPTCHA密钥)中的谷歌reCAPTCHA密钥。

其次,运行这些命令:

PHP工匠配置:清除 PHP工匠缓存:清除 作曲家dump-autoload PHP工匠视图:清除 PHP工匠路线:清除

它会解决你的问题。

更新

原来的答案不再正确了。开发者指南现在声明:

"如果您想使用"localhost"进行开发,必须将其添加到域列表中。"

这将只在您使用127.0.0.1/…访问localhost时有效。而不是localhost/....

原答案保存在下面。


根据reCAPTCHA开发者指南:

默认情况下不再支持localhost域。如果您希望继续支持它们进行开发,您可以将它们添加到站点密钥支持的域列表中。转到管理控制台更新受支持的域列表。我们建议在开发和生产中使用单独的密钥,并且不允许在生产站点中使用localhost密钥。”

换句话说,就是使用相同的键。

我最近正在创建一个涉及reCAPTCHA v2的网站,我需要在我的本地主机上进行自动化测试。我没有向reCAPTCHA管理门户添加任何IP地址或本地主机。

遵循以下步骤

登录到reCAPTCHA管理站点。截图 定位关键设置 点击高级设置 在“域名验证”下,取消选中“验证reCAPTCHA解决方案的来源”复选框。此选项用于验证来自上述列出的域之一的请求。 请注意,如果禁用,则在验证解决方案时需要检查服务器上的主机名。


我创建了一个新密钥,禁用了它,并使用这个密钥在localhost中进行测试。

这是一个示例页面,它为注释实现了reCAPTCHA。