Страница 1 из 47

[FAQ] Предотвращение спама в phpbb3

Добавлено: 23.04.2009 21:03
Kastaneda
По всей видимости, автоматизированные спам-боты нашли способ расшифровки кода визуального подтверждения (CAPTCHA) в phpBB 3.0.4. В phpBB 3.0.5 вводится ряд новых изменений в CAPTCHA, с помощью которых мы надеемся остановить этих ботов. До выхода phpBB 3.0.5 в вашем распоряжении имеются многочисленные вещи, которые вы можете использовать для ограничения или даже для полного прекращения проблем со спам-ботами.

Часто задаваемые вопросы
  • Что такое спам-бот?
    Говоря простым языком, спам-бот (в контексте phpBB) — это программа, которая способна регистрировать учётные записи, и публиковать сообщения на конференции.
  • Являются ли спам-боты угрозой безопасности?
    Нет. Хотя иногда и может казаться, что спам-боты прорываются через вашу защиту, но на самом деле они могут делать не больше из того, что могут делать настоящие пользователи (регистрироваться, публиковать сообщения и так далее). Следовательно, спам не является уязвимостью, и не должен рассматриваться в контексте уязвимости.
  • Как они работают?
    Спам-боты делают только то, что они запрограммированы делать, и ничего более. Неспособность ботов к адаптации на лету ставит их в невыгодное положение, когда они пытаются атаковать конференции информированных администраторов. Хитрость в успешном отражении спам-ботов состоит в том, чтобы всегда быть на один шаг впереди их авторов. Почти все модификации, направленные на борьбу со спам-ботами, сосредотачиваются на изменении формы регистрации и формы отправки сообщений, чтобы препятствовать ботам корректно заполнять эти формы.
  • Боты заполняют формы таким способом, как и люди?
    Нет, большинство ботов отправляют свои ответы напрямую, не загружая созданные вами формы. В практическом плане это означает, что лишь одно только изменение формы HTML не даст никакого результата в борьбе со спамом. Нужно полностью изменить метод интерпретации передаваемой информации. Это означает необходимость редактирования файлов PHP. Если вы используете модификации, которые редактируют только HTML, то будьте уверены — они бессмысленны.
  • Надо ли блокировать доступ ботам по IP или email-адресам доменов верхнего уровня (.ru, .info, и т. п.)?
    Если ваша цель состоит в экономии времени, то эта стратегия не поможет. IP-адреса часто циклически повторяются, и существуют тысячи прокси-серверов, которые могут быть найдены с помощью обычного поиска. Заблокировав IP-адреса, вы, в конечном итоге, заблокируете настоящих пользователей. Поскольку боты для своих email-адресов используют различные домены верхнего уровня (включая .com, .org и .net), поэтому блокировка международных доменов вроде .ru может незначительно помочь, но вы вновь в конечном итоге заблокируете настоящих пользователей (и при этом не заблокируете почти ни одного бота). Иными словами, мы должны сосредоточить внимание на предотвращении регистрации ботами, насколько это возможно, при этом не добавляя настоящим пользователям дополнительных хлопот.
  • А что можете сказать насчёт человеческих спамеров?
    Борьба с человеческими спамерами гораздо сложнее, чем борьба с ботами. В то время как боты будут пытаться вслепую регистрироваться и публиковать свои сообщения по возможности на каждой возможной конференции, человеческие спамеры хотят удостовериться, что их спам действительно видят другие пользователи. Следовательно, хитрость в борьбе с человеческими спамерами состоит в устранении всех стимулов, которые они могут найти на вашей конференции.
  • Удастся ли мне остановить спам, следуя рекомендациям данного руководства?
    Как уже было сказано выше, человеческих спамеров остановить очень трудно, а некоторые боты могут быть специально адаптированы для работы на вашем сайте. И, тем не менее, после прочтение данного руководства и применения предлагаемых в нём рекомендаций, вы сможете привести к значительному снижению количества спама на своей конференции, начиная с самого первого дня.
Остановка спама — методы и стратегии
  1. Дополнительные поля в профиле
    В нашей базе знаний имеется статья, в которой подробно рассказывается об использовании дополнительных полей в профилях пользователей в качестве метода сдерживания спама. Это довольно эффективный метод отсеивания большинства ботов.
  2. Активация администратором
    Данный метод не подойдёт для больших конференций, но он прекрасно подойдёт для небольших конференций. Множество спам-ботов регистрируются с использование электронных адресов Gmail или доменов .cn, а в качестве имён пользователей часто используют случайные комбинации букв и цифр.
  3. Задержка сообщений
    В phpBB 3.0.3 введена новая функция, позволяющая администраторам откладывать сообщения, если количество сообщений у отправившего их пользователя меньше определённого значения. Перейдите в Панель администратора → Общие → Размещение сообщений и включите опцию «Включить очередь сообщений». Это означает, что при включении данной опции сообщения зарегистрированных пользователей будут ставиться в очередь для проверки модератором, если количество оставленных ими сообщений меньше указанного значения. Ваши постоянные пользователи не будут видеть первые сообщения вновь зарегистрированных пользователей, и поэтому, если эти сообщения оставлены спам-ботами, вы сможете удалить их и отключить учётные записи спам-ботов.
  4. Модификации (MODs)
    Модификации — это наилучший метод предотвращения спама, и заключается он в создании уникальной конференции, используя средства сдерживания спама, не входящие в стандартную установку phpBB3. Ниже перечислен список модификаций, предназначенных для борьбы со спам-ботами. Если вы являетесь автором модификаций, и считаете, что ваша модификация должна быть включена в данный список, то отправьте личное сообщение любому члену группы поддержки.
    • Advanced Visual Anti Bot от lsjames
      Модификация «Advanced Visual Anti Bot» — это эффективное решение для предотвращения спам-ботов. Она заменяет стандартный фон визуального подтверждения случайным изображением. После этого спам-бот не может распознать код подтверждения с помощью оптического распознавания символов (OCR). Фоновые рисунки можно менять по желанию. Кроме того, «Advanced Visual Anti Bot» не требует каких-либо изменений в базе данных или конфигурирования в панели администрирования
    • Anti-Bot Question от CoC Тема на phpbbGuru
      Эта модификация добавляет на страницу регистрации контрольный вопрос. Контрольный вопрос администратор может изменять в панели администрирования.
    • Anti-Spam ACP от EXreacion
      Эта модификация предотвращает спам на многих конференциях phpBB3. Эта модификация не утверждена группой MOD Team.
    • Automatic Spammer Detection от mtotheikle
      Эта модификация использует «Stop Forums Spam» и «Bot Scout» для проверки имени пользователя, адреса электронной почты и IP-адреса потенциального спамера. Если что-нибудь возвращается, то все основатели получают личное сообщение с уведомлением о пользователе. Модификация в панели администрирования имеет настройки для включения и отключения, а также для выбора объектов для проверки. Эта модификация не утверждена группой MOD Team.
    • Prime Anti-bot от primehalo Тема на phpbbGuru
      Модификация осуществляет основанную на тексте систему проверки на человечность для проверки того, что форма отправляется человеком, а не ботом. Модификация запоминает успешные проверки на человечность, поэтому пользователям, успешно прошедшим проверки, не придётся каждый раз проходить её заново. Все фразы, вопросы и ответы полностью настраиваемы, и вы можете ввести их столько, сколько пожелаете (один вопрос выбирается из списка наугад каждый раз при необходимости). Модификация может быть настроена на проверку новых регистраций и гостевых сообщений. Эта модификация не утверждена группой MOD Team.
    • daroPL_AntiSpam от daroPL
      Модификация блокирует регистрации спам-ботов через изменение имени поля кода подтверждения для создания уникального хэша. Кроме того, модификация случайно изменяет размер поля кода подтверждения.
    • Antibot 100500 от Nekstati
      Модификация блокирует активность спам-ботов, не имеющих поддержки JavaScript (по некоторым оценкам, это до 99,7% всех ботов). Работает незаметно для пользователя.
    • [BETA]Find_Spammer - Поиск спамеров от Sheer
      МОД позволяет найти среди пользователей предположительных спамеров, заблокировать (по имени и адресу e-mail - действия записываются в лог администратора) и удалить их. Поиск осуществляется по IP-адресу, имени пользователя и адресу e-mail. Для поиска используется база данных ресурса http://www.stopforumspam.com. Эта модификация не утверждена группой MOD Team.
    • [BETA] Stop spammer register от Sheer
      МОД предотвращает попытки регистраций пользователей, чьи IP-адреса, имена пользователей или адреса e-mail внесены в черный список сервиса http://www.stopforumspam.com. Эта модификация не утверждена группой MOD Team.
Описанные рекомендации, используемые по отдельности или вместе, замедлят или полностью остановят проблему спама.

Оригинальная статья

Дополнительные поля в качестве метода борьбы со спамом

Добавлено: 24.04.2009 12:27
Kastaneda
Дополнительные поля в профилях

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

Для этих целей я использовал два типа дополнительных полей. Первый тип — это раскрывающийся список, который является более простым для пользователей, но также является и более простым для спам-ботов, поскольку он имеет всегда два выбора. Во второе поле предлагается ввести определённое число.

В обоих случаях поле имеет значение по умолчанию, которое не соответствуют значению, нужному для успешной регистрации.

Перейдите на страницу «Панель администрирования → Пользователи и группы → Дополнительные поля».

Метод с раскрывающимся списком

Здесь я использовал простой вопрос «Бот ли вы?» с простыми ответами «Да» и «Нет».
db03bec128bb.png
Дополнительные параметры поля таковы:

[фото пропало]

Обратите внимание на то, что значение по умолчанию утвердительное. Поэтому, если вы предоставите больше двух вариантов ответа, то автоматически обойти вопрос будет чуть сложнее.

Цифровой метод

Здесь я использовал набор из 5 цифр от 1 до 5 (на снимке видно только 3).

[фото пропало]

Дополнительные параметры поля таковы:

[фото пропало]

Обратите внимание на одинаковое использование минимального и максимального допустимого числа. Но значение по умолчанию отличается от минимального и максимального числа.

Здесь не обязано использовать простые числа. Можно ввести и такие числа: 1234, 5367, 8746, 9456, 3426.

При вводе пользователем максимального или минимального значения, а не значения по умолчанию, поле будет работать.

Эта функция позволит вам эффективно использовать «код». При желании использовать цифровое поле в качестве кода не вводите никаких чисел на первую страницу в качестве примеров (где поставлены цифры от 1 до 5). Вам будет необходимо предоставить пользователям какой-нибудь другой метод получения «кода», чтобы иметь возможность его ввести, как, например, с помощью приглашения по электронной почте, в котором будет соответствующий код, или можете разместить код на своей конференции в открытой теме и так далее.

При использовании числового метода вы можете изменить языковой файл, в котором содержится сообщение об ошибке, выводимое при вводе пользователем неверного значение. Для этого изменения проделайте следующее:

Код: Выделить всё

#
#Открыть файл langauges/en/ucp.php
#
# повторите для всех языков
#
# Найти
#
   'FIELD_TOO_SMALL'             => 'The value of “%1$s” is too small, a minimum value of %2$d is required.',
   'FIELD_TOO_LARGE'             => 'The value of “%1$s” is too large, a maximum value of %2$d is allowed.',
#
# Заменить на
#
   'FIELD_TOO_SMALL'             => 'The value of “%1$s” is incorrect',
   'FIELD_TOO_LARGE'             => 'The value of “%1$s” is incorrect.',
#
# Сохранить и закрыть все файлы
Результат

Конечный результат двух используемых полей:

[фото пропало]

Резюме

Чтобы эта техника работала исправно, важно, чтобы все конференции использовали разные вопросы и разные ответы. Подобно всем анти-ботовским модификациям, чем больше идентичных вопросов и ответов будет на большинстве конференций, тем большее количество спам-ботов будут «подогнаны» под эти вопросы. Поэтому используйте свои собственные идеи, используя приведённые рекомендации лишь в качестве шаблона. Чем более уникальными будут ваши вопросы и ответы, тем сложнее спам-ботам будет пробиться к вам.

Оригинал

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 25.04.2009 22:41
Борис Бердичевский
Prime Anti-bot вполне успешно защитил и мой форум, и более крупный (т.е. более интенсивный по посещаемости) форум. Об этом я писАл в соответствующей теме.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.05.2009 9:57
Kastaneda
Мод «daroPL_AntiSpam» поместили в официальную базу модификаций: http://www.phpbb.com/mods/db/index.php? ... b_id=10115

Спамят через "Пожаловаться на сообщение"

Добавлено: 12.05.2009 10:40
wwc
Спасмеры с некотрого времени поломав копья об Anti Bot Question стали размещать сообщения в "Пожаловаться на сообщение". Есть, правда тут моя вина - дал возможность жаловаться гостям, но а в целом есть ли целостная защита от такого спама ?

Re: Спамят через "Пожаловаться на сообщение"

Добавлено: 12.05.2009 12:22
crash
отключить
wwc писал(а):возможность жаловаться гостям,

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 8:12
Prometheus
Может ли кто-нибудь помочь с внедрением требования - обязательно заполнять имя пользователя? Хочу реализовать защиту от спама для незарегистрированных пользователей... но для этого необходимо знать как корректно потребовать имя от незарегистрированного пользователя.

Спасибо.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 8:27
crash
потребовать когда?

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 8:45
Prometheus
На этапе публикации сообщения. Гостем.

Спасибо.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 9:05
crash
запретить постить гостям.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 9:25
Prometheus
Мне нужны гости.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 10:07
Izya
В файле posting.php есть такой код

Код: Выделить всё

	// Validate username
	if (($post_data['username'] && !$user->data['is_registered']) || ($mode == 'edit' && $post_data['poster_id'] == ANONYMOUS && $post_data['username'] && $post_data['post_username'] && $post_data['post_username'] != $post_data['username']))
	{
		include($phpbb_root_path . 'includes/functions_user.' . $phpEx);

		if (($result = validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false)
		{
			$user->add_lang('ucp');
			$error[] = $user->lang[$result . '_USERNAME'];
		}
	}
Это проверка на корректность имени гостя, если оно указано. Попробуйте перед этим воткнуть доплнительную проверку:

Код: Выделить всё

	if (!$post_data['username'] && !$user->data['is_registered'])
	{
		$error[] = $user->lang['NO_USER_SPECIFIED'];
	}

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 01.06.2009 10:21
Prometheus
Izya
Большое спасибо! Сейчас же попробую.

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 03.06.2009 7:07
Oleg NT
Я еще до phpBB 3.0.5 не ставил никаких дополнительных модов для защиты от спама. Мне хватило просто усложненных настроек капчи (изменил интервал линий по осям X и Y, шум на переднем плане), спамеры если и были, то регистрированные вручную (поскольку их количество было ничтожно мало, да и сообщения были отличны от тех, какие были бы у массовых ботов).

Re: [FAQ] Предотвращение спама в phpbb3

Добавлено: 03.06.2009 7:26
Prometheus
Izya писал(а):Это проверка на корректность имени гостя
Как могут проходить повторные гостевые сообщения при наличии данной проверки? Спамеры проходят - нормальные гости блокируются. Существует ли обходной путь по публикации сообщений в обход данной проверки?

Спасибо.