reCAPTCHAを「ふたばちゃんねるスクリプト」(php製)に組み込む

reCAPTCHAを「ふたばちゃんねるスクリプト」(php製)に組み込む備忘録。

の前に

<script src="https://www.google.com/recaptcha/api.js"></script>

を追加。

<

form>タグ内に

<div class="g-recaptcha" data-sitekey="{取得したSite key}" style="transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"></div>

を追加。サイズを小さくするスタイルシートは
https://geekgoddess.com/how-to-resize-the-google-nocaptcha-recaptcha/
を参考にした。

function regist($name,$email,$sub,$com,$url,$pwd,$upfile,$upfile_name,$resto)の最初の方に

  //reCAPTCHAの設定
  if( !isset( $_POST['g-recaptcha-response'] ) ){
	error("キャプチャが失敗しています!reCAPTCHAをクリックしてください!",$dest);
  }else{
  // シークレットキー
  $secret_key = '"6Ld2LwwUAAAAAFohA5jTUrHjkEMEgp919yAhJP8H"' ;

  // エンドポイント
  $endpoint = 'https://www.google.com/recaptcha/api/siteverify?secret=' . $secret_key . '&response=' . $_POST['g-recaptcha-response'] ;

  // 判定結果の取得
  $curl = curl_init() ;
  curl_setopt( $curl , CURLOPT_URL , $endpoint ) ;
  curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false ) ;		// 証明書の検証を行わない
  curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ;		// curl_execの結果を文字列で返す
  curl_setopt( $curl , CURLOPT_TIMEOUT , 5 ) ;		// タイムアウトの秒数
  $captcha_return = curl_exec( $curl ) ;
  curl_close( $curl ) ;
/*
  // JSONの出力を明示
  header( 'Content-Type: application/json; charset=utf-8' ) ;
*/
  // 結果の出力
  $json =json_decode($captcha_return,true);
	if($json['success']==false){
		error("キャプチャが失敗しています!reCAPTCHAを確認してください!",$dest);
	}
  }

を追加する。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする