Воскресенье
19.11.2017
04:02
Форма входа



Облако тегов

Наш опрос

Статистика







Мини-чат
Официальный сайт
МКОУ СОШ №4 г. Миньяра

Наши форумы
 
[ Новые сообщения ] | [[Участники] | [Правила форума] | [Поиск] | [RSS ]
Страница 3 из 3«123
Модератор форума: Архипова_ИВ 
Форум » Общие форумы » Школьная жизнь » Каким должен быть сайт? (Обсуждение проблем сайта)
Каким должен быть сайт?
Дата: Понедельник, 14.12.2009, 16:14 | Сообщение # 31 Epsilon
[quote=Хозяин]Quote (Epsilon1)
...я поборол эту проблему у себя на сайте, могу поделиться методикой...
А вот это уже интересно, спасибо, буду очень рад [/quote]

Вобщем суть такая: боты заходят на сайт, скачивают форму регистрации, чтобы получить различные ключевые значения - имя формы, ключ к форме, каптча и некоторые другие. Затем они подготавливают POST-пакет, который содержит ту же самую информацию, как и пакет, отправляемый из браузера, плюс рандомное имя/фамилию, ник, дату рождения и проч. Серверу невдомёк, что этот пакет поддельный и он его принимает и "регистрирует" фиктивного юзера.

Решение в следующем: поскольку боты как правило настроены только на стандартный форум, то можно отличить бота от не бота следующим образом:
1. вводим дополнительное поле hidden в форму, значение которого выбираем по какому-либо закону.
2. в пришедшем на сервер потоке POST проверяем наличие данных от этого hidden (бот не пришлёт этого, ибо он про поле ничего не знает).
3. Если поля нет - просто делаем редирект на главную страницу как ни в чём не бывало (бот не должен понять, что он обломался, иначе автор бота начнёт ковырять - что не так).

Дополнительная защита: если бот слегка умный, то он считает наше новое поле hidden и отправит его в своём POST, обманув нас. Но мы сделаем круче: пусть поле hidden создаётся динамически из js. Большинство ботов не умеет выполнять js, поэтому про необходимость поля они не узнают и поле не создадут.

Можно менять закон, по которому задаётся поле hidden, например, пусть это будет зашифрованное значение datetime момента генерации формы. Когда регистрируется человек, он тратит на регистрацию время от 10 до нескольких минут. Когда регистрируется робот, он "тратит" на это же несколько миллисекунд, что человек сделать не в состоянии - так также легко отсеять ботов.

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

Дерзайте!


Администратор сайта Сим-Портал (http://sim-portal.ru)
Рядовой
Группа: Пользователи
Сообщений: 11
Статус: Offline
 
Дата: Понедельник, 14.12.2009, 16:31 | Сообщение # 32 Хозяин
Классно!
Спасибо за пост, методику я понял. Осталось ее прикрутить к uCoz - а вот тут уже проблема... Я не имею возможности сам редактить шаблоны на уровне php (подозреваю, что там не только php).
Была другая идея: на JS замутить многократную проверку вводимых данных через введенный e-mail, но опять же, форма ботом уже скачана, она работает, а сам прием данных с этой формы и его обработка мне недоступны :'( . Т.е. любые мои поползновения, возможно, и привели бы к желаемому результату, но только ДО того, как была скачана форма, а не ПОСЛЕ.

Я в поддержку стучался, жалился на эту дыру. Смотрю, появилась дополнительная капча, да и список блокируемых айпишников подрастает. Во всяком случае три последних дня не беспокоят...


Генералиссимус
Группа: Администраторы
Сообщений: 128
Статус: Offline
 
Форум » Общие форумы » Школьная жизнь » Каким должен быть сайт? (Обсуждение проблем сайта)
Страница 3 из 3«123
Поиск: