Dark_Knight
@Dark_Knight
Game Dev

Как бороться с ботами?

Здравствуйте.
Подскажите пожалуйста.
Как в Django можно реализовать при регистрации, или может есть возможность сделать это после регистрации, защиту от ботов.
1. Капчу цеплять не хочется.
2. Регистрацию по email пока не пробовал(но думаю, что тоже не самый лучший вариант)
Какие есть еще варианты? Ведь 2 вышеперечисленых бот все равно может обойти?
Спасибо
  • Вопрос задан
  • 4260 просмотров
Решения вопроса 1
Tremax
@Tremax
Вы ведь понимаете, что если бот нацелен конкретно на ваш сайт, здесь никакая защита не поможет.
Если общий случай, можно придумать какой-то алгоритм на js, браузер его исполняет и отправляет результат, на стороне сервера аналогичный алгоритм, и просто сверяем.

Но нужно учесть, что мы теряем пользователей с откл. js
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
@vimvim
Попробуйте сделать следующее:
— Для всех полей генерируйте случайные имена для каждого запроса формы.
То есть вместо:
<input name=«firstName… >
<input name=»email"… >
у Вас будет:
<input name=«r245»… >
<input name=«x287»… >
— Порядок полей тоже должен меняться
— Генерируйте случайный порядок и имена для кнопок Register и Cancel

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

После формы регистрации можно добавить дополнительный шаг с простейшим вопросом предусматривающим выбор одного значения из двух. Например: Луна имеет форму: «Круг», «Квадрат»
Ответ написан
Комментировать
@marazmiki
Укротитель питонов
Упростите жизнь себе и своим пользователям: используйте аутентификацию через социальные сети. В решениях типа ULogin или Loginza уже собраны десятки способов идентификации пользователя. Хоть один, да подойдёт :-)

Проблема борьбы со спамом автоматически ложится на плечи стороннего сервиса, а пользователям не придётся запоминать новый пароль.

И с джангой они отлично дружат.
Ответ написан
Комментировать
@Dzen_Marketing
Так же как и не в Джанго.
Самое действенное это сделать чекбокс с каким-нить левым именем, боты, как правило, его не заполняют.
На другом проекте у меня текстфилд где надо впечатать «Нет». Боты его тоже игнорят.
Ответ написан
@MaxUp
я задавался таким вопросом ранее — Какие существуют методы защиты от спам регистраций? . Сейчас работают на защитой. Может информация из топика выше поможет.
Ответ написан
Комментировать
@Dzen_Marketing
Ещё вспомнил.
Очень часто спамеры используют «размноженные» мыла.
Вот рецепт для друпал-сайтов www.drupal.ru/node/58703, для остальных тоже что-то такое должно быть
Ответ написан
Комментировать
@krasulya
Можно добавить какое-нибудь поле и скрыть его. Если в него ввели значение, значит, это бот.

По идее, лучше не использовать «display: none» или «visibility: hidden». Думаю, боты могут это определять. А, например, перекрывать дивом.
Ответ написан
Комментировать
Nikita
@Nikita
В своё время решал похожую задачу так: анализировал поведение до защищаемого события (правда, это было голосование в конкурсе, а не регистрация).

Правила примерно такие:
— человек пришёл со страницы списка участников
— минимум секунду читал текст на странице голосования
— проголосовал
— перещёл и загрузил со всей статикой (можно подсунуть какую-нибудь динамическую картинку, отдаваемую джангой) страницу просмотра результатов и пр.

Обычно боты тупо долбяться в страницу формы, игнорируя всё остальное. Хотя, они и умнеют со временем.

После того, как клиент определён, как поздозрительный, совсем не обязательно наглухо закрывать регистрацию, можно, например, добавить капчу, это спасёт от ложных срабатываний, при том, что большинство будут регистрироваться и так. Полезно будет также мониторить кол-во клиентов, определённых как хорошие и подозрительные. Это поможет отладить механизм.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы