我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证。对于开发,我最初在本地运行系统,当它准备好时,我将把它放在某个域中。
在reCAPTCHA网站上说插件只能在给定的域(和子域)上工作。
有没有办法在本地主机上使用reCAPTCHA插件?
当前回答
Localhost现在工作了。但是,请记住,在将localhost添加到域名列表后,最多需要30分钟才能生效(根据域名列表显示的帮助提示)。
其他回答
Localhost现在工作了。但是,请记住,在将localhost添加到域名列表后,最多需要30分钟才能生效(根据域名列表显示的帮助提示)。
我最近正在创建一个涉及reCAPTCHA v2的网站,我需要在我的本地主机上进行自动化测试。我没有向reCAPTCHA管理门户添加任何IP地址或本地主机。
遵循以下步骤
登录到reCAPTCHA管理站点。截图 定位关键设置 点击高级设置 在“域名验证”下,取消选中“验证reCAPTCHA解决方案的来源”复选框。此选项用于验证来自上述列出的域之一的请求。 请注意,如果禁用,则在验证解决方案时需要检查服务器上的主机名。
我创建了一个新密钥,禁用了它,并使用这个密钥在localhost中进行测试。
这是一个示例页面,它为注释实现了reCAPTCHA。
如果你正在使用Laravel,那么你应该重新启动你的服务器 执行如下两条命令:
php artisan config:clear
php artisan cache:clear
截至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允许的域列表中没有残留的垃圾。
出于测试目的,如果您想在localhost上测试包含reCAPTCHA的web页面,则通过管理控制台2:https://www.google.com/recaptcha/admin将localhost添加到域列表中。*建议为localhost创建一个单独的站点密钥。
管理控制台截图
验证码输出