Борьба со спамом запретом публиковать ссылки новичкам.

Устали от спама на Drupal? Не успеваете проглядывать все сообщения? Да, частенько спамеры проходят капчу и регистрируются на сайте, получая расширенные права. Но, у всех спамеров одна черта – первые же их комментарии содержат спам. И именно эту их черту мы будем использовать против них же. Мы запретим новичкам публиковать ссылки, а точнее, ссылки из их комментариев будут вырезаться.

Порядок действий:

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


Каждой роли свой формат

Чтобы убрать выбор форматов идём на страницу разрешений (/admin/user/permissions) и убираем у модуля better_formats все галочки у всех форматов.

На этом всё. Все новички и анонимные пользователи на вашем сайте Drupal не смогут публиковать ссылки на сайте, пока этого не заслужат.

Раздел: