Борьба со спамом запретом публиковать ссылки новичкам.
Устали от спама на Drupal? Не успеваете проглядывать все сообщения? Да, частенько спамеры проходят капчу и регистрируются на сайте, получая расширенные права. Но, у всех спамеров одна черта – первые же их комментарии содержат спам. И именно эту их черту мы будем использовать против них же. Мы запретим новичкам публиковать ссылки, а точнее, ссылки из их комментариев будут вырезаться.
Порядок действий:
- Устанавливаем модуль userpoints_contrib (позволяет пользователям набирать баллы за разные действия на сайте) с обязательно включенным модулем Userpoints Role (назначает пользователю новую роль при наборе определённого количества баллов). Так же включаем желаемые модули для набора пользователями баллов. Перевод можно взять отсюда.
- Настраиваем userpoints, т.е. сами баллы, сколько и за какое действие будет получать пользователь. Делается это на странице «Настройка Баллы» (/admin/settings/userpoints).
- Создаём новую роль на странице «Роли» (/admin/user/roles). Назовём её «Проверенный пользователь». Зададим новой роли права на странице «Разрешения» (/admin/user/permissions). В принципе, что у новичка, что у проверенного пользователя можно указать одинаковые права. Вы же можете новичков ещё в чём-нибудь ущемить
. И, как Вы уже поняли, новичками теперь будут пользователи с ролью «зарегистрированные пользователи». Просто эта роль назначается всем пользователям после регистрации, и её нельзя будет использовать в модуле userpoints_contrib.
- Идём вновь на страницу настройки баллов (/admin/settings/userpoints), раскрываем пункт «Баллы for Roles». Там введите текст письма, которое будет отсылаться пользователю при получении роли. После введите в поле «Баллов для роли: Проверенный пользователь:» количество баллов, которое необходимо для перехода в статус «Проверенный пользователь». Не стоит вводить большое число. Исходите из расчёта, к примеру, количество баллов, полученное за 5-10 комментариев.
- Теперь создаём «Формат ввода» /admin/settings/filters/add) для новичка. Его так и назовём «Для новичка». Выбирать роли, которые будут его использовать нет необходимости, т.к. этот формат будет использоваться по умолчанию. Выбираете фильтры, которые считаете необходимыми и в зависимости от установленных модулей (у меня выбраны: HTML корректор, Smileys filter, Запрет индексации внешних ссылок, Преобразователь переводов строки, Фильтр HTML, Фильтр цитат). Фильтр HTML среди всех в данный момент самый важный. Сохраняем и переходим на страницу настройки фильтров (у меня на странице /admin/settings/filters/7/configure , у Вас в зависимости от номера формата). В настройках фильтра HTML выбираем «Удалять запрещенные теги», удаляем из строки разрешённых тегов <а>. Галочка «Показывать справку HTML» тоже не нужна. Сохраняемся. На странице /admin/settings/filters установим формат «Для новичка» форматом по умолчанию. Другой формат, с возможностью публиковать ссылки нужно разрешить использовать проверенным пользователям, и запретить новичку.
- Теперь нужно установить каждой роли свой формат ввода по умолчанию, чтобы не утруждать зарегистрированного пользователя выбором формата, и меню выбора формата скрыть вообще. Для этого используем модуль better_formats. Перевод возьмём отсюда. Выбираем на странице /admin/settings/filters/defaults форматы по умолчанию. Выставляем в следующей последовательности для каждого типа материалов (необходимо перетащить роли за крестик именно в такой последовательности и выбрать форматы):
Чтобы убрать выбор форматов идём на страницу разрешений (/admin/user/permissions) и убираем у модуля better_formats все галочки у всех форматов.
На этом всё. Все новички и анонимные пользователи на вашем сайте Drupal не смогут публиковать ссылки на сайте, пока этого не заслужат.