서버측에서 Google reCAPTCHA v3 사용
Google의 reCAPTCHA v3은 체크박스 기반 이전 버전에 비해 더욱 발전된 봇 감지 방법입니다. 프런트 엔드에서 구현하는 것은 간단하지만 서버 측에서 유효성 검사를 처리하려면 다른 접근 방식이 필요합니다.
지원 중단된 reCAPTCHA v2 유효성 검사
reCAPTCHA v2 검증은 더 이상 v3에 적합하지 않습니다. reCAPTCHA v3은 검증을 위해 추가 매개변수 및 비밀 키와 함께 POST 요청을 사용합니다.
reCAPTCHA v3에 대한 보안 POST 기반 검증
다음은 POST-를 사용하여 수정된 PHP 스크립트입니다. reCAPTCHA v3에 대한 기반 검증:
<code class="php">function isValid() { try { $url = 'https://www.google.com/recaptcha/api/siteverify'; $data = [ 'secret' => '[YOUR SECRET KEY]', 'response' => $_POST['g-recaptcha-response'], 'remoteip' => $_SERVER['REMOTE_ADDR'] ]; $options = [ 'http' => [ 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data) ] ]; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return json_decode($result)->success; } catch (Exception $e) { return null; } }</code>
사용
isValid() 함수를 호출하여 reCAPTCHA 토큰을 확인하고 이에 따라 응답을 처리합니다. 예:
<code class="php">if (isValid()) { // The user has passed the reCAPTCHA check. // ... } else { // The user has failed the reCAPTCHA check. // ... }</code>
보안 참고 사항
검증의 무결성을 보호하려면 POST 요청에 비밀 키를 사용하는 것이 중요합니다. 이 비밀 키를 비공개로 유지하고 공개적으로 노출하지 마세요.
위 내용은 서버 측에서 Google reCAPTCHA v3의 유효성을 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!