Для фильтрации спамма в формах на сайте Гугл предоставил нам всем удобный инструмент reCAPTCHA.
Добрые люди из сообщества Django разработали приложение Django-recaptcha.
Поэтому у нас больше нет оправданий, чтобы не использовать удобную каптчу в своих проектах.
Шучу кому надо ставить reCaptcha читайте дальше
---
1. Идем в гугл за рекаптчей по ссылке: recaptcha если еще вас нет в гугле (как вы вообще живёте?) регистрируемся и регистрируем свой проект.
2. В окружении ставим Django-recaptcha:
pip install django-recaptcha
3. Добавляем приложение в settings.py
INSTALLED_APPS = [
...
'captcha',
...
]
4. Туда же в settings.py добавляем ключи полученные при регистрации своего проекта в recaptcha (смотри шаг 1)
RECAPTCHA_PUBLIC_KEY = '*******сюда ставим публичный ключ*********'
RECAPTCHA_PRIVATE_KEY = '*******сюда ставим приватный ключ********'
5. Для добавления каптчи в форму делаем так:
from captcha.fields import ReCaptchaField
class MyForm(forms.Form):
...
captcha = ReCaptchaField()
...
6. Каптча не адаптивная ((( но есть хитрость для узких экранов. В адаптивных стилях добавляем:
/* Extra small devices (portrait phones, less than 576px) xs */
@media (max-width: 575.98px) {
...
.g-recaptcha {
transform:scale(0.75); /* Добавлять на свой вкус */
transform-origin:0 0;
}
...
}
После всех этих шагов каптча будет работать как на этом сайте.
P.S. В настоящее время спаммеры прокачались и Recaptcha не спасает!
Мне пришлось придумать свою необычную каптчу на основе карты leaflet.
Эту каптчу я планирую использовать в своих личных проектах, а не распространять.
Больше уникальных каптч и спаммеры останутся "с носом" )))
Комментарии