以前、以下の質問でreCaptcha v3の設定について質問しv2で設定しましたが、v3で設定することになりました。
https://teratail.com/questions/287525
※今回v3での設定を依頼されていましたが、Salesforceでは、v2のコードが出力されたため、
v3は設定できないものと認識してしまい、v2で実装していました。
v3での設定方法について、どの参考サイトでも、サーバ側の設定はphpファイルに記載されていますが、具体的な設定場所が分からずにいます。
また、認証した場合の条件についても、判定された場合、どこに影響するのかがよく分かっていません。
以下は、現状設定している内容になります。
header.phpの設定
php
1<?php 2 <header> 3 ・ 4 ・ 5 <script src="https://www.google.com/recaptcha/api.js?render=site_key"></script> 6 <script> 7 function onClick(e) { 8 e.preventDefault(); 9 grecaptcha.ready(function() { 10 grecaptcha.execute('site_key', {action: 'submit'}).then(function(token) { 11 var recaptchaResponse = document.getElementById('recaptchaResponse'); 12 recaptchaResponse.value = token; 13 }); 14 }); 15 } 16 </script> 17 </header> 18?>
content.phpの設定
↓フォームが出力されるphpファイル
php
1<?php 2if ($_SERVER['REQUEST_METHOD'] === 'POST') { 3 4 // Build POST request: 5 $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; 6 $recaptcha_secret = 'secret_key'; 7 $recaptcha_response = $_POST['recaptcha_response']; 8 9 // Make and decode POST request: 10 $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response); 11 $recaptcha = json_decode($recaptcha); 12 13 // Take action based on the score returned: 14 if ($recaptcha->score >= 1) { 15 print('You are not Bot.'); 16 } else { 17 print('You are Bot.'); 18 } 19 20} ?>
※site_key、secret_keyには、Google recaptchaに登録した実際の値を入れています。
・サーバ側の設定について、フォームが出力されるphpファイルで問題ないか
・また、認証条件についても、どこに影響するのか、そもそも条件は記載しなくても問題ないか
わかる方いらっしゃいましたら、教えていただけますと幸いです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。