2017-11-23 17 views
0

このrecaptcha v2の使用を手伝ってください。 私が問題だかわからないけど、ここで私はどんなprobleを持っていけないローカルホストでこのコードを使用していますキャプチャが正常に動作しない

if (isset($_POST['submit'])) 
{ 
    if(isset($_POST['g-recaptcha-response'])){ 
     //your site secret key 
     $secret = 'secrete key'; 
     //get verify response data 
     $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){ 
      //code here 
     } 
     else{ 
      echo "<script>alert('Please click reCAPTCHA');</script>"; 
     } 
    } 

私のコードです。私はすでにGoogleのrecaptchaで私のドメインを入力して、私は唯一の問題はコードだと思う。

+0

あなたは何を期待し、実際に何が起こったのですか? – Heikki

答えて

0

更新curl

$url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']; 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($curl, CURLOPT_TIMEOUT, 15); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, TRUE); 
$curlData = curl_exec($curl); 

curl_close($curl); 

$responseData = json_decode($curlData, TRUE); 

$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']); 
    $responseData = json_decode($verifyResponse); 

からfile_get_cotents()で作られた要求は、このコードを試してみてください。


if(isset($_POST['submit']) && !empty($_POST['submit'])) { 
    if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) { 

     $secret = 'KEY'; 
     $url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']; 
     $curl = curl_init(); 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
     curl_setopt($curl, CURLOPT_TIMEOUT, 15); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, TRUE); 
     $curlData = curl_exec($curl); 

     curl_close($curl); 

     $responseData = json_decode($curlData, TRUE); 
     if($responseData['success'] == 'true') { 

       // Success code here 

      } 
      else 
     { 
     echo "<script>alert('Invalid reCAPTCHA');</script>"; 
     } 
    } 
} 
+0

ありがとうございました。 –

関連する問題