为什么子域不能与reCaptcha一起使用?

时间:2019-09-16 11:27:21

标签: recaptcha

我的主域名zack-resto.com有一个reCaptcha帐户 我有3个具有相同代码库的子域  -dev.zack-resto.com
 -cad.zack-resto.com  -load.zack-resto.com
reCaptcha正在zack-resto.com和dev.zack-resto.com上工作 为何cad.zack-resto.com和load.zack-resto.com无法正常工作。

我已经为cad.zack-resto.com尝试了专用的reCaptcha帐户,但仍然无法使用。

1 个答案:

答案 0 :(得分:0)

我将代码更改为

$response = @file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']);
if ( $response === FALSE )  {
     $response["success"] = false;
} else   {
  $response = json_decode($response, true);
}

to
$ch = curl_init();
     $curlConfig = array(
         CURLOPT_URL            => "https://www.google.com/recaptcha/api/siteverify",
         CURLOPT_POST           => true,
         CURLOPT_RETURNTRANSFER => true,
         CURLOPT_POSTFIELDS     => array(
             'secret' => $privatekey,
             'response' => $_POST['g-recaptcha-response'],
             'remoteip' => $_SERVER['REMOTE_ADDR']
         )
     );
     curl_setopt_array($ch, $curlConfig);
     if($result = curl_exec($ch)){
         curl_close($ch);
         $response = json_decode($result,true);

     }else{

         $response["success"] = false;
         return false;
     }

因此curl和remoteip似乎是调用recaptcha的关键。 感谢您的关注