Проверка reCAPTCHA v3 в Django

В reCAPTCHA V2 я мог проверить в самом views.py. Однако в V3 я не знаю, как поступить. Теперь я использую его в разработке с 127.0.0.1.

Сначала я сгенерировал ключ сайта и секретный ключ. В settings.py я добавил секретный ключ, GOOGLE_RECAPTCHA_SECRET_KEY = 'my_secret_key_here'

Затем в моем signup.html у меня есть <script src='https://www.google.com/recaptcha/api.js?render=my_site_key_here'></script>

В отличие от предыдущего, здесь нет тега ‹ div > для добавления флажка. Сам скрипт отображает символ recaptcha в моем браузере.

Мой вопрос,

  1. Как проверить с помощью grecaptcha.execute.

  2. Нужно ли добавлять скрипт с ключом моего сайта на каждую страницу, которую я хочу защитить от спама, или есть какой-нибудь простой способ


person Bidhan Majhi    schedule 01.12.2018    source источник


Ответы (2)


Да, вам нужно добавить его на каждую страницу с формой отправки. Проверка по-прежнему происходит в представлении.

Эта библиотека, кажется, делает тяжелую работу, чтобы упростить интеграцию - https://github.com/kbytesys/django-recaptcha3.

person Dmitriy    schedule 20.01.2019

эта статья поможет решить вашу проблему: Как реализовать google recaptcha v3 на вашем django.

Резюме:

  1. вызовите метод execute, это вернет токен, который вам нужно проверить в вашем бэкэнде.

  2. Вы можете сохранить его где-нибудь в своей форме

  3. отправить токен при отправке формы

  4. проверить токен в вашем представлении

Нужно ли добавлять скрипт с ключом моего сайта на каждую страницу, которую я хочу защитить от спама, или есть какой-нибудь простой способ

Именно, вам нужно добавить скрипт на каждую страницу, которую вы хотите защитить от спама.

person Muhammad Ihfazhillah    schedule 27.05.2019