我需要你关于reCaptcha的帮助。 Recaptcha在localhost上运行良好,但是当我尝试从另一台机器访问它时,它给了我这个错误
错误:网站密钥的域名无效
但我使用的是reCaptcha site
生成的相同密钥答案 0 :(得分:1)
如果你想在localhost上运行reCaptcha,你应该使用如下所述的安全令牌:google secure token documentation 这解决了我自己的localhost问题。以前我有一个错误消息“站点密钥的域名无效”。这可能是因为没有人说本地主机必须被命名为“localhost”或者具有用于本地主机的标准IP。无论如何使用安全令牌完全解决了这个问题。
为了安全令牌生成,我正在使用slushie's php implementation
PHP部分:
<?PHP
use ReCaptchaSecureToken\ReCaptchaToken as ReCaptchaToken;
require_once("libs/ReCaptchaToken.php");
//Generate recaptcha token
$config = [ 'site_key' => 'place-your-site-key-here',
'site_secret' => 'place-your-secret-key-here'
];
$recaptcha_token = new ReCaptchaToken($config);
$recaptcha_session_id = uniqid('recaptcha');
$recaptcha_secure_token = $recaptcha_token->secureToken($recaptcha_session_id);
?>
HTML:
<html>
<head>
...
<script src='//www.google.com/recaptcha/api.js'></script>
</head>
<body>
<form>
...
<div class="g-recaptcha" data-sitekey="place-your-site-key-here" data-stoken="<?PHP echo $recaptcha_secure_token; ?>"></div>
</form>
</body>
</html>
答案 1 :(得分:0)
当我尝试从其他计算机访问它时
如果您尝试从外部访问它,谷歌(所有网络)都会看到与m_content
无关的外部计算机IP(您的comp中的IP)。这就是它抛出错误的原因。
我建议您将reCaptcha设置为真实的网页并在google注册。
答案 2 :(得分:0)
修复程序转到https://www.google.com/recaptcha/admin 并注册您的域名。它会工作。干杯。