Ошибка Google Captcha v3, недействительный ключ, повторная регистрация ключа не решает проблему.

Вопрос или проблема

Я пытаюсь добавить ReCaptcha v3 на сайт, который я администрирую.

Когда я открываю страницу с капчей, блок капчи отображает «Ошибка: Недействительный ключ».

Я уже в третий раз пере-регистрировал ключ для этого сайта, но ошибка сохраняется. Я сделал всё по инструкции, вот исходные данные:

                <div class="form-wrp">
                    <script src="https://www.google.com/recaptcha/api.js?render=6LduVFIqAAAAAFOgQFfTVM3UJHBYWNMkbm5Ptohv"></script>
                    <form id="order_mail" action="/order/mail" method="post">
                        <h2 class="center">Обратная связь</h2>
                        <fieldset>
                            <input type="text" name="email" placeholder=" " id="inp4"/>
                            <label for="inp4">Email или телефон для ответа</label>
                        </fieldset>
                        <fieldset>
                            <!--<input type="text" name="message" placeholder=" " id="inp5"/>-->
                            <textarea name="message" placeholder=" " id="inp5" required="required"></textarea>
                            <label for="inp5">Сообщение</label>
                        </fieldset>
                        <fieldset>
                            <div class="g-recaptcha" style="width:304px; margin:0 auto;" data-sitekey="6LduVFIqAAAAAFOgQFfTVM3UJHBYWNMkbm5Ptohv" data-callback="onOrderMailSend" data-action="submit"><!--секретный ключ --></div>
                        </fieldset>
                        <fieldset>
                            <input type="submit"/>
                        </fieldset>
                    </form>
                </div>

Как это исправить?

  • Я пытался заменить открытый ключ на случайную строку, тогда ошибка не отображалась. Но решить капчу не удалось.
  • Я пробовал снова зарегистрировать ключ капчи. Ошибка сохраняется.

Ответ или решение

Ошибка "Некорректный ключ" в Google reCAPTCHA v3 может быть вызвана несколькими причинами. Давайте разберемся, каковы могут быть источники этой проблемы и как их исправить.

1. Проверка ключей

  • Убедитесь, что вы используете правильные ключи сайта и секретный ключ, которые соответствуют вашему домену. Если вы переименовывали или изменяли домен в процессе регистрации, это может привести к появлению ошибки.

2. Доменные настройки

  • Когда вы регистрируете ключи для reCAPTCHA, убедитесь, что указали соответствующие домены в разрешенных доменах. Например, если вы используете localhost для разработки, обязательно добавьте его в список доменов.

3. Неправильное место размещения скрипта

  • Убедитесь, что скрипт <script src="https://www.google.com/recaptcha/api.js?render=ВАШ_КЛЮЧ"> загружается до вашего кода формы. Если скрипт загружается после, это может привести к проблемам.

4. Проверка идентификатора reCAPTCHA

  • В вашем коде вы используете:
    <div class="g-recaptcha" data-sitekey="6LduVFIqAAAAAFOgQFfTVM3UJHBYWNMkbm5Ptohv"></div>

    Убедитесь, что data-sitekey совпадает с тем, который был выдан для вашего домена. Либо это может быть ключ для другого проекта, либо вы могли создать его несколько раз, и используете неверный.

5. Ошибки в консоли

  • Откройте инструменты разработчика в браузере (обычно доступно через F12) и проверьте консоль на наличие каких-либо ошибок JavaScript, которые могут быть связаны с загрузкой reCAPTCHA.

6. Caching и регулярные обновления

  • Если вы используете кэширование (например, на стороне сервера или через плагин в CMS), убедитесь, что вы обновили кэш после изменения ключей или регистрации.

7. Использование разных браузеров и очистка кэша

  • Попробуйте обновить страницу в другой вкладке или браузере, или очистите кэш браузера, чтобы исключить возможные проблемы с кэшированием.

8. Проверка работы API

  • Если у вас есть доступ к серверной части, вы можете использовать fetch или другой метод для отправки запросов к Google API reCAPTCHA с вашим секретным ключом, чтобы проверить, корректно ли обрабатываются запросы.

Пример проверки API:

const secret = 'ВАШ_СЕКРЕТНЫЙ_КЛЮЧ';
const response = req.body['g-recaptcha-response'];

const verificationUrl = `https://www.google.com/recaptcha/api/siteverify?secret=${secret}&response=${response}`;

fetch(verificationUrl, {
    method: 'POST'
})
.then(response => response.json())
.then(data => {
    // Обрабатываем данные
});

Итог

Если после выполнения всех предложенных шагов ошибка "Некорректный ключ" продолжает появляться, рекомендуется обратиться в поддержку Google reCAPTCHA, возможно, ваш проект или ключ были заблокированы по какой-то причине.

Поддержите ваш код актуальным, следуя документации Google, и убедитесь, что все ключи и домены правильно настроены.

Оцените материал
Добавить комментарий

Капча загружается...