1

Тема: Маскировка ссылок на регистрацию и вход — борьба со спам-ботами

После переезда форума я получил доступ к логам и смог проанализировать типовое поведение спам-ботов, пытающихся зарегистрироваться на форуме. Поскольку обращение к register.php следовало сразу за считыванием главной страницы, возникло предположение, что боты достаточно тупы и заточены на присутствие ссылки на register.php — обычной для форумов, написанных на PHP. Что, если замаскировать ссылку, переименовать ее?

Внутрифорумные ссылки PunBB генерирует на основе схемы, что упрощает задачу. Я вручную подменил ссылки на страницу регистрации и страницу входа неочевидной последовательностью букв и цифр (хешем) и переименовал register.php и login.php. Для людей подмена осталась незаметной (кто-нибудь обратил внимание?), зато боты стали получать ошибку 404 при обращении по стандартному имени.

Антиспам-расширение Fancy stop SPAM работает как и раньше, я его не отключал. Но если до моего трюка в журнале событий спама были десятки попыток в час, то после — стало менее 10 в сутки. Заодно выяснилось, что существуют боты с другим алгоритмом (заточенные на анализ текста ссылок или их позицию в меню, не знаю), для которых моя маскировка не помеха.

Поскольку эксперимент оказался успешным, планируется соответствующим образом доработать ядро PunBB:

  • Завести настройку «Маскировать ссылки на регистрацию и вход», доступную администраторам.

  • Генерировать замаскированные ссылки на основе сеансовой куки и проверять их валидность для каждого сеанса, обеспечиваемого PHP.

В плане объема кода эта возможность весьма легковесна, так что целесообразно добавить ее в ядро PunBB, а не делать расширением.

2

Re: Маскировка ссылок на регистрацию и вход — борьба со спам-ботами

С переходом на новый домен видимых в журнале попыток регистраций стало больше 10 в сутки, но, по всей видимости, их стало больше вообще. Скорее всего, подобные ботофермы отслеживают домены 2-го уровня, но не имеют технической возможности отслеживать домены 3-го уровня, особенно заведенные записями CNAME.

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