Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> PHP&MySQL -> 秒速でPHPのフォームにreCAPTCHA v3を導入するサンプルコード
縺雁ー城▲縺遞シ縺弱↑繧峨昴う繝ウ繝医し繧、繝GetMoney!

秒速でPHPのフォームにreCAPTCHA v3を導入するサンプルコード

PHPで作った問い合わせフォームなどが、迷惑メールやハッキングツールの餌食になってしまい、荒らされてしまう事が多い昨今ですorz

このままじゃいけないと分かっていても、CAPTCHAを導入するのがめんどい・・・。

・・・できれば二行で終わらせたい!

という方のために、コピペ後に二行だけ追加すればreCAPTCHAを導入出来るサンプルコードを用意しましたw

あらかじめ、reCAPTCHAのサイトにアクセスして、サイトキーやシークレットキーを取得する必要があります。そこだけ30秒くらいかかってしまいますが、我慢して下さい。

以下、コピペ用コードです。
※ yoursitekeyとyoursecretkeyには、reCAPTCHAのサイトキーとシークレットキーを記述して下さい。

<?php // あらかじめ、recaptchaのサイト(https://www.google.com/recaptcha/intro/v3.html)で、サイトキーとシークレットキーを取得しておく。 $recaptcha_site_key = "yoursitekey"; $recaptcha_secret_key = "yoursecretkey"; // recaptchaを表示する<FORM>〜</FORM>内に記述 function recaptcha(){ global $recaptcha_site_key; echo "<input type='hidden' name='recaptchaResponse' id='recaptchaResponse'><script src='https://www.google.com/recaptcha/api.js?render={$recaptcha_site_key}'></script><script>grecaptcha.ready(function(){grecaptcha.execute('{$recaptcha_site_key}', {action: 'sent'}).then(function(token){document.getElementById('recaptchaResponse').value = token;});});</script>"; } // フォームが送信された後の処理 例:if(recaptcha_verify()){echo '認証成功';}else{echo '認証エラー';} function recaptcha_verify(){ global $recaptcha_secret_key; $post_key = "recaptchaResponse"; if(isset($_POST[$post_key]) && !empty($_POST[$post_key])){ $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret_key."&response=".$_POST[$post_key]); if(json_decode($response)->success){ return true; } } return false; } ?>
使い方の例: 前述のコードをコピペした後で、赤字の箇所を、従来のPHPコードに追加すればおk。
<?php if($_POST){ if(recaptcha_verify()){ echo '送信成功';exit; }else{ echo '送信失敗';exit; } } ?> <form method='post'> <input type='text' name='name'> <?php recaptcha()?> <input type='submit' value='送信'> </form>
・・・秒速とか言いながら、スムーズに事が運んでも1分くらいはかかるかも(ぉぃ) なお、reCAPTCHA v3は、従来のようなグニャグニャした画像認証は表示されません。 フォームを送信した時のスコアに応じて、承認するか否かを自動判断しているので、 上記のコードを導入したからと言って、フォームの見栄えには全く影響を及ぼしませんのでご注意を。

この記事の最終更新日:2019/10/24
最初に記事を書いた日:2019/10/24

この記事をシェアする

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

関連記事

資料室のトップに戻る
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> PHP&MySQL -> 秒速でPHPのフォームにreCAPTCHA v3を導入するサンプルコード
▲Top English