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

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

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


当前回答

如果你正在使用Laravel,那么你应该重新启动你的服务器 执行如下两条命令:

php artisan config:clear

php artisan cache:clear

其他回答

在https://www.google.com/recaptcha/admin注册你的网站 添加JavaScript插件 添加谷歌提供的类和站点密钥

请注意,从2016年起,reCAPTCHA不再支持本地主机。常见问题解答:

默认情况下不再支持本地主机域。如果你愿意 继续支持他们的发展,你可以将他们添加到列表中 您的站点密钥支持的域。转到管理控制台 更新受支持的域列表。我们建议使用单独的钥匙 用于开发和生产,并且不允许在您的 生产站点密钥。

只需将localhost添加到您的站点域名列表中,就可以了。

你可以写“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

截至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允许的域列表中没有残留的垃圾。

到您的谷歌reCAPTCHA网站域名列表(https://www.google.com/recaptcha/admin/site/{siteid}/settings),添加LOCALHOST。

如果上面的不能工作,尝试添加127.0.0.1。