错误:站点密钥的域无效

时间:2015-11-09 07:41:36

标签: recaptcha

我需要你关于reCaptcha的帮助。 Recaptcha在localhost上运行良好,但是当我尝试从另一台机器访问它时,它给了我这个错误

  

错误:网站密钥的域名无效

但我使用的是reCaptcha site

生成的相同密钥

3 个答案:

答案 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 并注册您的域名。它会工作。干杯。

相关问题