我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
当前回答
当您在谷歌reCAPTCHA中添加域时:
添加新域:
Localhost,不是Localhost
“L”是一个大写字母。
其他回答
根据谷歌的reCAPTCHA文档
默认情况下不再支持本地主机域。如果你愿意 继续支持他们的发展,你可以将他们添加到列表中 您的站点密钥支持的域。转到管理控制台 更新受支持的域列表。我们建议使用单独的钥匙 用于开发和生产,并且不允许在您的 生产现场密钥
请注意,从2016年起,reCAPTCHA不再支持本地主机。常见问题解答:
默认情况下不再支持本地主机域。如果你愿意 继续支持他们的发展,你可以将他们添加到列表中 您的站点密钥支持的域。转到管理控制台 更新受支持的域列表。我们建议使用单独的钥匙 用于开发和生产,并且不允许在您的 生产站点密钥。
只需将localhost添加到您的站点域名列表中,就可以了。
截至2021年的今天,谷歌reCAPTCHA企业版控制台包括一个验证检查,不允许将localhost添加到允许的域列表中。为了解决这个问题(显然只是为了开发/测试的目的),我做了以下工作:
在hosts文件中创建一个将域解析为本地主机的条目 127.0.0.1 whatever-your-domain-will-be.com 测试应用程序不是通过导航到localhost,而是通过导航到域。
我的本地服务器/应用程序通常在http://localhost:4000上运行,所以导航到http://whatever-your-domain-will-be.com:4000就可以了。
一旦部署或测试完成,就很容易删除hosts文件条目,并且在reCAPTCHA允许的域列表中没有残留的垃圾。
我在Laravel网站上得到了一个与reCAPTCHA相关的错误。我通过使用一些命令和一个env文件解决了这个问题,以前的答案也将有助于解决这个问题。
首先,检查env文件(在您的示例中,该文件具有谷歌reCAPTCHA密钥)中的谷歌reCAPTCHA密钥。
其次,运行这些命令:
PHP工匠配置:清除 PHP工匠缓存:清除 作曲家dump-autoload PHP工匠视图:清除 PHP工匠路线:清除
它会解决你的问题。
最新更新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
参考