Stop Spam - Изменение системных путей

Самый простой пожалуй способ избавиться от спам-ботов в комментариях - это запретить возможность анонимным пользователям оставлять комментарии (добавлять новые материалы). Но, если убрать возможность анонимам комментировать, все равно спам-боты будут пытаться зарегистрироваться на сайте, выполнить вход и оставить комментарий. Они это делают в массовом порядке, изучив особенности CMS и зная стандартные пути для регистрации и входа пользователей. При этом выполняя множественные попытки регистрации и входа с разных IP-адресов, они могут создать значительную кратковременную нагрузку на сервер.

Одним из вариантов борьбы с этим явлением служит изменение системных путей Drupal. Для такой цели имеется контрибный модуль Rename Admin Paths. Он может изменять 2 типа путей. В-первых, он может изменить пути от админки друпала /admin/*. Также он может изменить пути для пользователей /user/* (user, /user/register, /user/login, /user/logout и т.д.). В изменении путей админки я особо причин не вижу, а вот изменение путей для пользователей вполне может понадобиться. При изменении адресов страниц юзеров старые пути будут выдавать код ошибки 404. Модуль меняет пути, используя hook_outbound_alter() и hook_inbound_alter().

Установка и настройка модуля достаточно проста. Скачиваем модуль со страницы проекта. Разархивируем его в папку sites/all/modules (sites/all/modules/contrib). Включаем его и переходим на страницу настроек admin/config/user-interface/rename-admin-paths.

admin_path.png

Там выбираем переименовать user path и вводим новое значение пути (по-умолчанию member). Теперь страница пользователя будет /member, страница регистрации - /member/register и так далее. Также нужно будет добавить новые правила в robots.txt, чтобы исключить от индексации новые пути. Если путь был выбран по-умолчанию "member", то добавляем следующие правила в robots.txt:


Disallow: /member/register/
Disallow: /member/password/
Disallow: /member/login/
Disallow: /member/logout/

Disallow: /?q=member/password/
Disallow: /?q=member/register/
Disallow: /?q=member/login/
Disallow: /?q=member/logout/