我正在尝试实施Google reCAPTCHA。问题甚至是当($Return->success == true && $Return->score >= 0.5)
等于true时,当我应该得到$isOK = true
时,我得到$isOK = false
。
我做了很多尝试,但是我仍然将此值设置为false。我在这儿做错什么了吗?
$captchaVerified = false;
if(isset($_POST['tokenVal'])){
function getCaptcha($tokenV,$secretKey){
$Response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".urlencode($secretKey)."&response=".urlencode($tokenV));
$Return = json_decode($Response);
/* global $captchaVerified;*/
if ($Return->success == true && $Return->score >= 0.5) {
$captchaVerified = true;
} else {
$captchaVerified = false;
}
return $captchaVerified;
}
$isOK = getCaptcha($_POST['tokenVal'],$secretKey);
}
答案 0 :(得分:0)
给定的响应代码正在对api服务器执行 GET 请求。
api 服务器正在请求 POST 请求。
$Response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".urlencode($secretKey)."&response=".urlencode($tokenV));
要向服务器发出POST请求,可以遵循以下steps。
整体参考资料取自verify recaptcha