reCaptcha v3

Jak instalovat reCatpcha v3 na web

Google v roce 2018 představil svou již třetí verzi obrany proti vyplněnování formulářů na internetu robotem.
Od předešlých verzí se liší především odstraněním potřeby jakékoliv akce uživatele.

Jak napojit webový formulář na reCaptcha v3?

  1. vygenerovat nové klíče na stránce https://www.google.com/recaptcha/
  2. přidat javascript do hlavičky webu <script src="https://www.google.com/recaptcha/api.js?render=____RECAPTCHA_SITE_KEY___"></script> <script> grecaptcha.ready(function () { grecaptcha.execute('____RECAPTCHA_SITE_KEY___', { action: 'contact' } ).then(function (token) { var recaptchaResponse = document.getElementById('recaptchaResponse'); recaptchaResponse.value = token; } ); } ); </script>
  3. do formuláře přidat nové neviditelné pole <input type="hidden" name="recaptcha_response" id="recaptchaResponse">
  4. a při kontrole odeslaného formuláře kontrolovat výsledné score návštěvníka if (isset($_POST['send']) && isset($_POST['recaptcha_response'])) { $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; $recaptcha_secret = "___RECAPTCHA_SECRET_KEY___"; $recaptcha_response = $_POST['recaptcha_response']; $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response); $recaptcha = json_decode($recaptcha); if ($recaptcha->score >= 0.5) { // zde bude pokračovat kód, uživatel je ověřen... } }

JavaScript PHP listopad 2019