reCAPTCHA在一个域上失败 - 相同的代码(密钥除外)在其他域上传递

时间:2016-11-18 10:41:11

标签: php server http-post php-extension recaptcha

我有两个网站 他们两个都有来自谷歌的reCAPTCHA 2.0 我在两个域上都实现了完全相同的代码(键除外)

要进行故障排除,我已经要求服务器向我显示php-version和扩展名:
Working reCaptcha
Failing reCaptcha

我不知道为什么它在一个域上失败而在另一个域失败。
这两个reCaptchas刚刚创建并且都是2.0版本

两者的基本代码是:

客户端:

<!DOCTYPE html>
<html lang="da-DK">

<head>
<meta charset="UTF-8">
<title>Recaptcha test</title>
<script src='https://www.google.com/recaptcha/api.js?hl=da'></script>
</head>

<body>
<h1>reCAPTCHA</h1>
<form action="responce.php" method="post">

    <p>Name: <input type="text" name="name"></p>
    <p>Mail: <input type="text" name="email"></p>
    <div class="g-recaptcha" data-sitekey="--My-Site-Key--"></div>
    <input type="submit" value="test">
</form>
</body>
</html>

服务器端:     

$sender_name=stripslashes($_POST["name"]);
$sender_email=stripslashes($_POST["email"]);

$secret="--My-Server-Key--";
$response=$_POST["g-recaptcha-response"];
$verify=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$response}");
$captcha_success=json_decode($verify);

if ($captcha_success->success==false) {
$success="isFalse";
}
else if ($captcha_success->success==true) {
$success="isTrue";
}

echo $success . "<br>";
echo 'php version => '. phpversion() . '<br>';
foreach (get_loaded_extensions() as $i => $ext) {
echo $ext .' => '. phpversion($ext). '<br/>'; 
}
?>

0 个答案:

没有答案