我使用google recaptcha在wordpress上制作了自定义注册页面。它工作正常,没有任何错误,但当我将代码复制到新项目时,它无法正常工作。不知道为什么。没有秘密和sitekey错误。
if(!empty($_POST['g-recaptcha-response']))
{
$gurl = 'https://www.google.com/recaptcha/api/siteverify';
$gdata = array(
'secret' => 'secret',
'response' => $_POST['g-recaptcha-response']
);
// use key 'http' even if you send the request to https://...
$goptions = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($gdata),
),
);
$gcontext = stream_context_create($goptions);
$gresult = file_get_contents($gurl, false, $gcontext);
var_dump($_POST['g-recaptcha-response']);
$gresult=json_decode($gresult);
if(!$gresult->success)
$register_errors[]='Error reCAPTCHA.';
}
更新
var_dump的输出($ _ POST ['g-recaptcha-response'])是一些字符串,可以进行哈希处理。 $gresult = file_get_contents($gurl, false, $gcontext);
在FALSE
var_dump($gresult);