Эффективная Защита Сайта От Спам Ботов

эффективная защита сайта от спам ботов

В последнее время на Хабре было предложено довольно много идей для капчи. В этом обзорном посте я бы хотел рассмотреть незаметные для пользователя методы защиты от ботов. Методы защиты Минимальное время заполнения формы Суть метода заключается в том, что сервер замечает время создания формы.

Если пользователь заполнил форму меньше чем за определённое время, то он считается ботом. Время можно варьировать в зависимости от сложности формы.

Верно также, что если форма не была заполнена слишком долго, то что-то не так. Скрытое поле Этот метод может показаться странным, но он, похоже, работает. К форме добавляется скрытое поле скрытое в смысле display: Если поле заполнено, то пользователь считается ботом.

Удивительно, но многие простенькие боты заполняют все неизвестные поля. Обфускация или шифрование HTML Исходный код страницы является, по сути, вызовом javascript функции вроде document. В интернете есть много готовых решений, например, вот тут. Блокирование определённых user-agent Некоторые боты используют весьма специфические заголовки user-agent. Можно блокировать запросы не содержащие user-agent вообще или содержащие заведомо плохой заголовок.

В интернете есть списки таких заголовков. Вот, например, от некого Нила Гантона. Ссылка на этот раздел не видна для пользователя, однако если бот зайдёт в этот раздел и сделает там хоть что-нибудь, то его IP тут же блокируется. Хеширование формы BarsMonster При сабмите формы на сервер вычисляется хеш полей формы и добавляется в одно из специальных скрытых полей.

Сервер проверяет значение хеша. Лишь на одной из картинок написан текст, остальные — прозрачные. Для сабмита пользователь должен нажать на картинку с текстом.

Динамическое создание формы maxshopen Сама форма полностью создаётся javascript-методом динамчески. Таким образом, форму может увидить лишь пользователь, у которого отработал соответствующий скрипт. Использование сторонних сервисов le0pard Можно туннелировать трафик через специальный сервис, предназначенный для анализа контента на спам.

Примером такого сервиса может быть Akismet Гибридный подход По умолчанию форма защищена каким-либо javascript-методом динамическое создание формы или шифрование данных или методом из приведённых выше. Приведённые выше методы не являются универсальной защитой от ботов.

Они не спасут от прямой атаки, но смогут помочь от ботов-пауков. Пост не рассматривает слабые стороны методов. Это можно обсудить в комментариях. Заинтересовавшимся рекомендую почитать пост некого Нила Гантона на английском. Добавил несколько методов из комментариев. Добавил ещё один метод из комментариев. А какие ещё безкапчевые методы защиты вы знаете?

Защита от спам ботов на форуме phpbb3

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

Помимо способов, описанных ранее, а также телефонной валидации которую я не рассматриваю вообще по понятным причинам , я могу посоветовать лишь один действительно очень сложный для обхода: Хороший примером такой капчи является PlayThru. Не помешает еще кастомизация страницы регистрации. Любая уважающая себя программа справится с такой формой регистрации в автоматическом режиме.

Но можно и желательно пойти еще дальше — сделать эти атрибуты динамическими. Вы спросите, как серверу обрабатывать динамические имена параметров? Могу предложить скрытый input с ключом шифрования известного только вам алгоритма. Таким образом последовательность следующая: И окончательным штрихом будет использование изображений одинакового размера и динамическим адресом вместо label.

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

А как быть с формой авторизации? Тут все зависит от сайта. Я согласен, что это дурной тон, но это один из двух известных мне способов защитить ваши аккаунты. Подобные методы имеют место там, где к аккаунту могут быть привязаны какие-то привилегии, которые не должны быть доступны каждому по умолчанию. На хабре это инвайты, на некоторых других сайтах — деньги или привязанные цифровые покупки.

Любой аккаунт могут угнать и неважно, какой сложности у вас пароль. Делают это с помощью брута по купленным базам вида email: А базы продаются миллионами строк за смешные деньги. Добываются, насколько мне известно, сливом с различных форумов через SQL уязвимости. Вообще, чтобы защитить себя, в идеале на каждом сайте должен быть разный пароль.

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

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

Аккаунты таких гигантов, как Twitter, Skype, Sony, PayPal очень легко угоняются, что подтверждается обширным рынком их продажи. Куда труднее угнать аккаунты, например, VK или Google. Если на сайте нет обязательного подтверждение номера мобильного телефона, то написать авторегистратор — дело пары часов, никто дальше добавления скрытых полей не заходит. Защита от спама на сайте с любой CMS | Записки Зверобоя А зря, мне даже представить страшно, какие они суммы тратят ручную зачистку. Суть его состоит в проверке и сравнении установленных плагинов и шрифтов.

Тем более, что в борьбе со спамом всё-таки победа всегда будет за веб-мастером, если он хоть немного позаботится о защите своего сайта. Как правило, столкнувшись с проблемой спама, веб-мастер идёт в поисковик и ищет какое-то решение по защите своего сайта.

И первое время эта защита действует и спам исчезает. Но спамеры ведь тоже не спят. И как только какой-то из способов защиты становится популярным — они находят для него противодействие.

Следовательно, надёжная защита должна быть нестандартной. Она не должна стоять на сотне тысяч сайтов, иначе у спамеров появится стимул с ней бороться. Если же такая система защиты будет стоять только на одном нашем сайте — то её даже никто не заметит. Спамерам нет смысла парится ради одного нашего сайта если конечно наш сайт не монстр типа vkontakte или чего-то подобного.

Я наверное даже буду гордиться, если узнаю, что кто-то когда-то сделал спамилку специально для одного из моих сайтов — это уже показатель, что сайт чего-то да стоит. На этом лирическое вступление заканчивается. А вывод из него такой — требования к хорошей защите от спама: Нестандартность это главное требование. Простота для веб-мастера не хочу тратить на настройку спамозащиты больше минут. В моей защите я воспользовался тем, что спамоботы не выполняют javascript на страницах сайта, а у подавляющего большинства пользователей он включен.

Есть какой-то жалкий процент пользователей с отключенным JS, но я ими пренебрегаю. Пускай включают, если хотят нормально пользоваться моими сайтами.

И теперь, собственно пара строчек кода. В форму, которую хотим защитить, добавляем поле: В кнопку, по которой идёт отправка, добавляем 1 Например, если код кнопки был такой: В php-скрипте, который проверяет данные из формы делаем что-то типа: И от живого человека переменная приходит с этим значением, а от бота она приходит пустая, так как он не выполняет JS. Вот и вся хитрость. На форуме vbulletin, где я поставил такую защиту, спама нету уже 2 года.

На одном самописном сайте тоже уже полгода без спама обходимся, хотя никакой каптчи нет, только эта защита. Сейчас вот на один сайт на joomla поставил такую защиту, так как злые спамеры повадились слать мне по 20 писем в час через форму обратной связи. Как Вы понимаете, это только общая схема. Название поля check и значение проверочной переменной secretcode можно и даже желательно поменять на любые другие по своему усмотрению.

Похоже, на ваш сайт приходят спам-боты. Как от них Вы можете воспользоваться тремя способами защиты от спамеров. Первый. 19 июня в Защита от ботов, меньше цифер и буков. +59 2,1k 20 Ведь это не повод спамеров на сайт запускать. Оптимизаторы сайтов и их владельцы в своем большинстве уже поняли ценность уникального качественного контента.

Предыдущая статья: email рассылка размеры

Следующая статья: capmonster 2.10 5.0