morontt.info

Всячина → Атака роботов

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

робот спам

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

Способ борьбы с ними определился сразу. Изначально при разработке этого блога я написал action, который принимал отправленную форму с данными для комментария по обычной схеме, а потом реализовал добавление комментариев при помощи AJAX, добавление же комментариев с перезагрузкой страницы оставил на тот случай, если у человека отключен JavaScript или не поддерживается как таковой (да да, я знаю таких параноиков людей, которые сидят с выключенным ява-скриптом, и при этом ругаются, что на многих сайтах не работает базовый функционал.) Так вот роботы лезли именно через экшн без ява-скрипта. Поразмыслив, оставил добавление комментариев только через ajax, а остальное - сразу в спам. Людей без скрипта сразу и предупредил посредством надписи в div-е, который скриптом же и скрывается.

Можно было, конечно, и CAPTCHA какую поставить, но я не фанат. Иногда соберёшься накатать где-то камент, а там каптча матановая - сразу же порыв исчезает :)

P.S. Использование JavaScript не есть панацея от спама. В двух проектах уже писал автоматические функциональные тесты сайтов, где ява-скрипт прекрасно роботом интерпретируется, посредством того же sahi, например, так что принципиальной невозможности тут нет, просто на данный момент примитивных ботов-спамеров куда больше, чем не примитивных :)

g-plus-icon
comments powered by Disqus
Учтите, что комментарии добавляются только при включённом JavaScript в браузере. В ином случае информация хоть и не пропадёт бесследно, но будет отправлена в спам и вряд ли хоть кто-нибудь её увидит.
Хуторная Елена
avatar
Хорошо, когда можешь создать альтернативу капче ))) На нее действительно многие жалуются, но как без нее? Даже с ней боты все пишут и пишут, а уж без нее просто замучаешься этот мусор из комментов выгребать.
Ответить
morontt
avatar
Да, в самописном сайте свободы больше, чем в любой CMS-ке вроде вордпреса. Что хочу, то и ворочу. Можно, конечно, и в той же CMS ковыряться, но тогда временные затраты будут больше, так как больше связей и зависимостей надо будет исследовать и учитывать.

С мусором, действительно, замучаться можно. В мой спамоуловитель попадает больше полусотни сообщений в день :)
Ответить
Хуторная Елена
avatar
Хорошо, когда сам умеешь все написать, но когда не можешь, и вордпресс спасение )))
Ответить
morontt
avatar
Когда не можешь и/или не умеешь, то альтернатив почти и нет. Есть, конечно, и другие движки для блогов, но WordPress самый популярный и лёгкий в освоении из них :)
Ответить
Хуторная Елена
avatar
Ну и, по большому счету, задачи свои выполняет )))
Ответить
morontt
avatar
Иначе бы никто его не использовал
Ответить
Хуторная Елена
avatar
Так и есть.
Ответить
мобилка
avatar
проверка опера-мини
Ответить
Olunka
avatar
А моя борьба со спамом пока не дает результатов.
Пыталась закрыть комментарии без referer.
Идея была о том, что если человек не загружал страницу, значит это тупо робот напрямую шлет комментарий.
Но спама по-прежнему много (((
Ответить
morontt
avatar
У вас ворд-пресс, так что и подсказать ничего не могу, не знаком близко с предметом в плане комментариев.

Ещё у меня подозрение есть, что в строки кода в записи Тег more, как избавиться... прокрались ошибки, связанные с одинарными и двойными кавычками, но это только подозрения, утверждать не буду. Пишу об этом здесь, т.к. там каменты вообще закрыты.
Ответить
10 комментариев Написать что-нибудь
Поля, помеченные asterisk, обязательны для заполнения.
Адрес электронной почты нигде не отображается, необходим только для обратной связи.
Веб-сайт вводите в формате http://example.org, при желании, конечно.