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);
}
}
を追加する。