Мои анти-спамные наработки

Список разделов phpBBex 1.x (поддерживается) Пожелания 1.x

Описание: В phpBBex 1.x чего-то не хватает? Напишите об этом здесь, и мы постараемся исправиться.
Правила раздела: Одна тема — один запрос новой возможности. Обязательно формируйте внятный заголовок, максимально отражающий суть вашей идеи. Также приведите примеры, где предлагаемая вами возможность будет актуальна.
Модератор: Поддержка

Сообщение #1 Борис Бердичевский » 28.03.2013, 20:38

Вижу, что мои анти-спамные поправки и дополнения (так и не оформленные в виде МОДа) -- здесь, в ex, -- отсутствуют.
Вкратце:
  • Исправлена дырочка в Текстовом подтверждении (ТП), приводившая к "проскакиванию" ботов без ответа на вопрос ТП
  • Логи регистрации. Позволяют проследить, как спам-боты и вообще кто бы то ни было отвечал на вопрос ТП. Неудачные вопросы можно таким образом убрать
  • Фокус, пока эффективно действующий против спам-ботов. Дело в том, что если форум русскоязычный, достаточно заставить отвечать на вопросы при установке Язык: "Русский" (а не "British English"), и тогда практически все боты не смогут пройти регистрацию!
Я подготовлю патч всех этих изменений. Всё это уже давно хорошо наработано и действует успешно!
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #2 BURJUY » 28.03.2013, 21:37

я юзаю hook_antibot100500.php и не одной бяки ;)
BURJUY
Аватара
Репутация: 1
С нами: 11 лет 1 месяц

Сообщение #3 Борис Бердичевский » 28.03.2013, 21:48

Тем не менее, полезные вещи, и МОДы не надо будет устанавливать, когда войдёт в ex.

Добавлено спустя 4 минуты 55 секунд:
  • includes/acp/info/acp_logs.php
  • includes/acp/acp_board.php
  • includes/functions_admin.php
  • language/ru/acp/board.php
  • language/en/acp/board.php
  • includes/constants.php
  • language/ru/acp/common.php
  • includes/ucp/ucp_register.php
  • includes/functions.php
  • includes/captcha/plugins/phpbb_captcha_qa_plugin.php
  • language/en/acp/common.php
  • language/en/captcha_qa.php
Вложения
anti-spam.patch.zip
Анти-спам доработки
(3.86 КБ) Скачиваний: 523
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #4 VEG » 29.03.2013, 12:18

В phpBBex уже встроена своя защита от автоматических регистраций. На сколько я могу судить по своим форумам, автоматического спама нет — только очень редкий ручной (анализируя по логам).
Борис Бердичевский:Исправлена дырочка в Текстовом подтверждении (ТП), приводившая к "проскакиванию" ботов без ответа на вопрос ТП
Можно немного подробнее об этой проблеме? Как она проявляется?

Лог регистраций — возможно, неплохая идея. Немногим позднее изучу код подробнее.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #5 Борис Бердичевский » 29.03.2013, 13:06

VEG:Можно немного подробнее об этой проблеме? Как она проявляется?
Ну, всё это собрано в соответствующих темах на phpBB. Вот, например
http://www.phpbbguru.net/community/topic35294-30.html#p348877
http://www.phpbbguru.net/community/topic35294-15.html#p348803
http://www.phpbbguru.net/community/topic18943-165.html#p348496
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #6 VEG » 01.10.2013, 19:37

Воспользовался вашей идеей и добавил в phpBBex логи регистраций с расширенной информацией о регистрируемых. Думаю, это поможет лучше проанализировать среднего «ручного» спаммера и лучше настроить спам-фильтры в будущем.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #7 Борис Бердичевский » 04.10.2013, 09:12

Спасибо! Хоть это частично вошло! :smile:
Ещё не смотрел, вставили ли моё латание дырки (а также отказ в регистрации на английском языке).
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #8 VEG » 04.10.2013, 09:54

Борис Бердичевский:а также отказ в регистрации на английском языке
Нет, на форумах phpBBex регистрируются и англоговорящие, было бы глупо их блокировать.

Борис Бердичевский:Ещё не смотрел, вставили ли моё латание дырки
Если речь идёт об этом коде:
Код: Выделить всё
       if (!sizeof($this->question_ids))
       {
-         return false;
+         $error = $user->lang['CONFIRM_QUESTION_WRONG'];
+// Register LOG  Start -->
+      if ($config['enable_register_log'])
+         add_log('register', 'REGISTER_WITHOUT_CONFIRM', 'validate');
+//-->Register LOG  End
+         return $error;
       }
То нет, я его не добавлял. Эта ветка должна выполняться, если администратор забыл указать вопросы для соответствующей капчи. Если же вопросы не заданы, вполне логично, что регистрация идёт без вопросов.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #9 Борис Бердичевский » 04.10.2013, 13:46

VEG
я уже наблюдал, что это дырка! И вопросы внесены, а бот проскакивает без ответов. Видел это по логам.
Например, при наличии какой-то ошибки обращения к БД.

Добавлено спустя 3 минуты 59 секунд:
VEG:Нет, на форумах phpBBex регистрируются и англоговорящие, было бы глупо их блокировать.
Не блокировать, а попросить перейти (перевести комбо-бокс) на русский язык для регистрации. Кстати, многие админы задают вопросы именно на русском языке -- и как англоязычным регистрироваться?..
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #10 VEG » 04.10.2013, 13:54

Борис Бердичевский:Например, при наличии какой-то ошибки обращения к БД.
При наличии ошибки обращения к БД скрипт останавливается — это стандартное поведение.

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

Борис Бердичевский:Кстати, многие админы задают вопросы именно на русском языке -- и как англоязычным регистрироваться?..
Вы здесь при регистрации видели такие вопросы? :smile:
Кстати, на сколько я помню, капча вопрос-ответ поддерживает задание вопросов на разных языках.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #11 Борис Бердичевский » 04.10.2013, 14:05

VEG:При наличии ошибки обращения к БД скрипт останавливается — это стандартное поведение.
Тем не менее, я наблюдал проскакивание ботов без ответов на вопросы. Когда внёс эту поправку, это дело полностью прекратилось. Так что, возможно, где-то ещё есть дырочка, а это следствие. Но поскольку нелогично включить текстовое подтверждение и не ввести вопросы от нормального Админа, то
такое решение меня вполне устроило.
VEG:Пользователю покажется странным подобное требование.
Можно разъяснить, что форум русскоязычный, что это направлено против ботов. Также нелогично -- а зачем собственно англоязычным регистрироваться на русскоязычном форуме? Конечно, есть Гугл для переводов ахи как. :smile:
VEG:Вы здесь при регистрации видели такие вопросы?
Почти нигде не видел вопросов на английском языке на русскоязычных форумах. Поддерживаться то поддерживается, но что именно вводят Админы? :wink:

Добавлено спустя 5 минут 50 секунд:
Блокировка регистрации на английском отсекает, по моим наблюдениям, более 90% ботов "на корню".

Добавлено спустя 19 минут 34 секунды:
Вообще-то, я пользуюсь phpBB без ex, нет у меня никакой дополнительной защиты (которая, как я прочитал, сделана в ex), и для меня такие поправки гораздо важнее, чем для пользователя phpBBex. И тем не менее, с такими поправками живём спокойно, без прорывающихся ботов.
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #12 VEG » 04.10.2013, 17:57

Борис Бердичевский:Можно разъяснить, что форум русскоязычный, что это направлено против ботов. Также нелогично -- а зачем собственно англоязычным регистрироваться на русскоязычном форуме? Конечно, есть Гугл для переводов ахи как. :smile:
Дело в том, что phpBBex умеет отключать возможность выбора языка, и если форум посещают только русскоговорящие, то имеет смысл использовать эту фичу. На этом же форуме иногда появляются англоговорящие, посмотрите самый последний раздел на главной.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #13 Sumanai » 04.10.2013, 18:02

Борис Бердичевский:Также нелогично -- а зачем собственно англоязычным регистрироваться на русскоязычном форуме?

Вообще- то тут есть раздел на английском, где VEG консультирует на соответствующем языке.

Борис Бердичевский:Блокировка регистрации на английском отсекает, по моим наблюдениям, более 90% ботов "на корню".

Видел наработки по блокировке по отправляемым полям input "Отправить" при выбранном английском языке, и наоборот. Это будет полезнее- при смене языка страница перезагружается, то есть только бот может отправить русский текст кнопки с выбранным английским языком.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #14 Борис Бердичевский » 05.10.2013, 20:01

Ну, насчёт этого форума понятно, я имел в виду чисто русскоязычные форумы, их много!
Sumanai,
смысл блокировки на английском в том, что подавляющее число атак ботов идёт при установленном английском выборе комбо-бокса, почему-то переводить комбо-бокс на "русский" боты не умеют! :smile:
(А сами боты-то лезут как правило из зоны ru!)

Добавлено спустя 3 минуты 36 секунд:
Возможно, блокировку английского нужно сделать опционально, добавив установку такой фичи в Админке.
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #15 Sumanai » 05.10.2013, 20:23

Борис Бердичевский:смысл блокировки на английском в том, что подавляющее число атак ботов идёт при установленном английском выборе комбо-бокса, почему-то переводить комбо-бокс на "русский" боты не умеют!

Это понятно. Я лишь добавил, что те же самые боты, которые не могут выбрать русский язык, почему- то шлют value="Отправить" именно на русском, чего обычные люди ну никак не могут сделать.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #16 Борис Бердичевский » 05.10.2013, 20:56

Ну, можно, конечно, проверять и поле "Отправить". Но, имея в виду бессмысленность регистрации с английским на чисто русскоязычных форумах, такая добавка не стоит программирования! :biggrin:
Борис Бердичевский M
Автор темы
Аватара
Репутация: 11
С нами: 11 лет

Сообщение #17 Sumanai » 05.10.2013, 21:37

Борис Бердичевский:Но, имея в виду бессмысленность регистрации с английским на чисто русскоязычных форумах, такая добавка не стоит программирования! :biggrin:

Но имея в виду то, что phpBBex используется на многоязычных форумах, такая добавка имеет смысл, так как 100% отделяет ботов от людей.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #18 Enyby » 10.10.2013, 23:14

Как самый радикальный способ - пишете внешнюю авторизацию и регистрацию. В результате спамерам придется писать ботов именно под вашу модификацию форума, а это весьма маловероятно.

Пока phpBBex непопулярен - встроенная защита поможет. А потом - нет.

Можно еще ничего не писать, а настроить на серваке редирект. На странице регистрации капчу нацепить, только после ввода которой происходит переход к процессу регистрации.
Enyby
Гость

Сообщение #19 Александр_ » 15.10.2013, 15:10

Методы защиты от авто спама (можно использовать комплексно)

Проверка Referer при переходе на страницу авторизации, регистрации, комментария
Проверка Cookies при переходе на страницу авторизации, регистраци, комментария
Проверка js on при переходе на страницу авторизации, регистрации, комментария
Подмена полей (для ботов)
Каптча + проверка на количество попыток авторизации, регистрации
Александр_
Гость

Сообщение #20 Maze » 04.11.2013, 13:49

VEG:придумать тактику по усложнению жизни спамерам без затрагивания нормальных пользователей.

по поводу капчи теперь не все так гладко:
http://habrahabr.ru/post/199446/

Тезис 1 - Зачастую капчу сложно распознать добросовестному пользователю и он может ошибиться.
Тезис 2 - Боты могут распознавать капчу лучше обычных пользователей.
Тезис 3 - Капчу (подсовываемую ботами) могут распознавать не боты, а армия китайцев за еду...

Существуют моды для phpbb3 - Keycaptcha и Sortables captcha.

Боты пока не умеют двигать картинки по смыслу.
Минус - китайцы тоже могут это сделать, интуитивно догадываясь по смыслу, что нужно сделать (собрать картинку).
Поэтому, конечно, лучше привнести какой-то смысл.

Итак, Key/Sortables гарантированно отсеет ботов.
Привнесение смысла (а не просто собрать картинку) отсеет живую армию китайцев...

Например, где-то требуется на картинке нажать фигуру с определенными свойствами...

Очень полезно использовать дополнительно проверочный (и даже каверзный, тогда останутся грамотные/разбирающиеся в тематике люди) вопрос. Вопрос при этом может выпадать и картиночный. Вот здесь, например, с мишкой:
http://www.phpbbguru.net/community/topic11370.html
Либо на картинке сосчитать или опознать что-то специфическое.

Для отсева не разбирающихся в тематике могут быть специфические вопросы (уравнение Шрёдингера например)...

А теперь уловка - помимо Key/Sortables и проверочного вопроса страница регистрации должна иметь изображение капчи (!)
При этом существует только одно поле для ввода ответа на проверочный вопрос, а изображение капчи играет роль ловушки. Конечно, на странице должно быть упоминание о том, что в поле ввода требуется вводить ответ на вопрос, а не капчу (хотя можно сделать дополнительное поле-обманку, но заполнять его не нужно). Тут то и "попадутся" как боты, так и китайцы, работающие на "на автомате"...

Ну и прочие небольшие приемы тоже лучше применять.
А так, судя по той новости, сама капча уже изжила себя как способ защиты...

Плюс еще идея - можно радикально отсечь ip-диапазоны всего Китая, но это уже на усмотрение администрации конкретного форума.

Помимо данной глобальной проблемы (автоматический/случайный/ручной) для администраторов существует головная боль №2 - целенаправленные (в т.ч. спам) атаки. Тут конкретные и живые люди смогут пройти проверочные вопросы и виды капчей... Только имеет ли смысл обсуждать и это? А то у меня тоже есть идеи.
Maze
Репутация: -1
С нами: 10 лет 9 месяцев

След.

Вернуться в Пожелания 1.x