我在我的网站上使用重新验证,但是当我点击登录时它不起作用说机器人验证失败,请再试一次我不知道如何解决它...每次:/
感谢您的帮助。
如果你有更好的剧本请发给我。
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response']))
{
$secret = '**************';
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
if($responseData->success)
{
}else{
echo "<div class='container'><div class='alert alert-danger'><p>Robot verification failed, please try again.</p></div>";
}
}else{
echo "<div class='container'><div class='alert alert-danger'><p>Please click on the reCAPTCHA box.</p></div>";
}
答案 0 :(得分:0)
以下是我在服务器上处理Google Re-Captcha的方法:
//process captia response with a custom method.
$captcha = checkCaptia($_POST['g-recaptcha-response']);
if ($captcha){
mailLead();
}
else{
header('location: https://...');
die();
}
处理验证码检查的方法......
function checkCaptia($captcha){
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
'secret'=>';jaskdf;asdkjf',
'response'=>$captcha,
'remoteip'=>$_SERVER['REMOTE_ADDR']
);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = json_decode(file_get_contents($url, false, $context),TRUE);
return $result;
}
答案 1 :(得分:0)
在处理验证码时,我使用ReCaptcha包作为Composer。
如果您不知道Composer是什么,我建议您前往http://composer.org/
Composer是一个PHP依赖项管理器,在构建现代PHP应用程序时非常有用。
ReCaptcha套餐:https://packagist.org/packages/google/recaptcha
代码示例也包含在链接中。