reCAPTCHA в Flask-User / Flask-WTForms: «сайт проверяет принятые решения reCAPTCHA менее чем в 50% случаев»? - PullRequest
0 голосов
/ 08 сентября 2018

Я интегрировал reCAPTCHA на нескольких своих страницах через Flask-User, который в свою очередь использует Flask-WTF. Я провел несколько тестов, и, похоже, он отлично работает, но через один или два дня я получил следующее сообщение от google.com/recaptcha/admin:

enter image description here

И теперь я не уверен, что сделал что-то не так или у Google просто недостаточно данных, чтобы дать мне правильный отзыв. Вот как я использовал код:

В моем main_app.py

app.config['RECAPTCHA_PUBLIC_KEY'] = '...my_keys...'
app.config['RECAPTCHA_PRIVATE_KEY'] = '...my_keys...'

В колбе пользователя forms.py

from flask_wtf import RecaptchaField

, а затем в каждом соответствующем классе я использовал recaptcha = RecaptchaField(), чтобы я мог использовать его через Jinja2 в html позже.

class LoginForm(FlaskForm):
    recaptcha = RecaptchaField()
    ...

class RegisterForm(FlaskForm):
    recaptcha = RecaptchaField()
    ...

class ForgotPasswordForm(FlaskForm):
    recaptcha = RecaptchaField()
    ...

class ResetPasswordForm(FlaskForm):
    recaptcha = RecaptchaField()
    ...

Вот пример HTML:

<form>
    ...
    ...
    {{ form.recaptcha }}

    {# Submit button #}
    ...
</form>

1 Ответ

0 голосов
/ 06 июня 2019

Вам необходимо настроить регистрационную форму (см. Документ) и добавить поле капчи из WTF:

# Customize the Register form:
class CustomRegisterForm(RegisterForm):
  recaptcha= RecaptchaField()

затем (см. Документ WTF) в шаблоне /flask-user/... добавить {{ form.recaptcha }}

...