从另一台计算机使用reCAPTCHA会导致"错误:站点密钥&的域无效 [英] Using reCAPTCHA from a different machine results in "ERROR: Invalid domain for site key"

查看:15
本文介绍了从另一台计算机使用reCAPTCHA会导致"错误:站点密钥&的域无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

reCAPTCHA在本地主机上运行良好,但当我尝试从另一台计算机访问它时,它给出以下错误:

错误:站点密钥的域无效

但我使用的密钥与the reCAPTCHA site生成的密钥相同。

推荐答案

如果要在本地主机上运行reCAPTCHA,则应使用如下所述的安全令牌:Google secure token documentation

这解决了我自己的本地主机问题。以前,我收到了站点密钥的域无效的错误消息。这可能是因为没有人要求本地主机必须命名为‘Localhost’或具有用于本地主机的标准IP地址。无论如何,使用安全令牌完全解决了这一问题。

对于安全令牌生成,我使用slushie's PHP implementation

PHP部分:

<?PHP
    use ReCaptchaSecureTokenReCaptchaToken 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>
  <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>

这篇关于从另一台计算机使用reCAPTCHA会导致&quot;错误:站点密钥&的域无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆