Защита форума от автоматического спама.

12
zexis
На сайте с 09.08.2005
Offline
388
4548

Последнее время алгоритмы автоматического спама форумов стали очень эффективными.

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

Давайте обсудим способы борьбы со спам ботами форумов.

Перечислю известные мне способы защиты от автоматического спама форумов.

1) Добавление невидимых полей в форму отправки сообщений.

Добавляем в форму невидимое поле

<INPUT TYPE="text" class="notvis" NAME="site">

В стили добавляем

<style type="text/css">

<!--

.notvis {visibility: hidden;overflow:hidden;height:1px;}

-->

</style>

То есть мы создали поле ввода, которое пользователь не видит из за настройки стиля. А автоматические боты видят и заполняют данными.

При обработке данных проверяем заполнено ли поле "site". Если заполнено, то это бот. Это довольно эффективный способ защиты, который отсеит много автоматических ботов гуляющих по интернету.

2) Установка COOKIE помощью джаваскрипт.

Добавляем на страницу сайта например, такой код

<script type="text/javascript">document.cookie="notbot=1;path=/";</script>

Который установит пользователю куку.

При обработке формы проверяем наличие куки в переменной $_COOKIE['notbot']

Большинство спам ботов не выполняют джаваскриптов и не поддерживают куков. 99% браузеров пользователей джаваскрипты и куки поддерживают. С помощью этого метода можно отсеить почти всех спам ботов.

3) Не показываем спамеру, что его сообщения удаляются. Нужно ввести спамера в заблуждение и усложнить ему жизнь, что бы ему сложнее было понять смог ли он преодолеть антиспам защиту. Если мы сразу будем сообщать спамеру, что его сообщение заблокировано антиспам защитой, то ему будет очень просто искать причины блокировки спам сообщений. Можно делать например так. Нужно не сообщать спамеру, что сообщение или экаунт не создан. Сообщение и экаунты спамера нужно добавлять в базу, но помечать их в базе данных специальным полем, что это спам. Раз в 5 минут можно удалять все спам сообщения автоматически. Или можно удалять их раз в сутки, и не показывать их в списке сообщений форума. Этот способ творческий и нужно тщательно его продумывать, что бы обмануть спамера и не запутать нормального пользователя.

4) Создание хорошей капчи. Сейчас алгоритмы автоматического распознавания капчей настолько эффективны, что распознают почти все стандартные капчи даже лучше человека.

Вот примеры капчей распознаваемых автоматически

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

Но хорошую капчу, не распознаваемую ботом и легко читаемую человеком все равно можно сделать, если следовать следующим советам.

1) В капче нужно рисовать все символы и помехи одним цветом. А не разными цветами. Разные цвета усложняют восприятие человеком, а боту они наоборот помогают, так как бот по разным цветам может отделять друг от друга символы и помехи.

2) Помехи в виде случайных точек или линий (тоньше символов) бесполезны. Они легко удаляются простейшим фильтром. Например, удалить все пикселы, вокруг которых закрашенных пикселов меньше некоторой константы.

3) Высота, ширина каждого отдельного символа, позиция по вертикали и горизонтали для каждого символа должны меняться на случайную величину. Это существенно затруднит распознавание.

4) Нельзя использовать стандартные шрифты. Каждый символ нужно нарисовать 100 (или больше) разными способами и использовать любой вариант написания символа случайно. Вот, например, небольшой фрагмент вариантов цифры 5, которые я использую.

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

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

6) Нужно рисовать только контур символов. А тело символа делать равным по цвету фону. Это сильно затруднит автоматическое распознавание символа, так как боту сложно будет отличить тело символа от фона.

7) Соседние символы должны обязательно накладываться друг на друга. При случайном добавлении очередного символа нужно проверять, что бы он налагался на соседний. Если он не перекрывает соседний, то нужно сдвигать его ближе к соседнему до наложения.

Руководствуясь этими советами я автоматически генерирую такие капчи.

Хочу узнать у пользователей этого форума мнение, нужен ли им сервис генерации таких капч.

Например, это могло бы выглядеть так.

1) Я на своем сайте выкладываю 100 наборов случайных капчей. В каждом наборе в архиве по 1000 капчей (1000 картинок gif) и текстовый файл в котором хранится md5 сумма нарисованного на каждой капче числа.

2) Владелец форума скачивает у меня любой на свой выбор набор из 1000 капчей и загружает на свой сервер. Когда ему нужно показать пользователю случайную капчу, он показывает одну из 1000 случайную капчу. Ответ пользователя пропускает через хэшфунуцию MD5 и сравнивает результат с MD5, который должен быть.

3) Раз в сутки или неделю или месяц, владелец форума может автоматически или вручную закачивать себе на сайт другой случайный набор капчей.

4) Я регулярно буду обновлять на своем сайте наборы случайных капчей, что бы спамеры не заносили их в свои базы.

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

В этой теме приветствуется описание новых эффективных способов защиты от спама форумов и отзывы о предложенных мной способах.

Нужен ли вам предложенный сервис защиты от спама капчами?

У меня нет форума.
31% (4)
Форум есть, но спам боты не беспокоят.
8% (1)
Форум есть, но уже есть хорошая защита от спам ботов.
38% (5)
Предложенная здесь капча мне не понравилась.
15% (2)
Хотел бы пользоваться предложенным сервисом генерации капчей.
8% (1)
Идея сервиса генерации капчей понравилась, но пользоваться им не буду.
0% (0)
Всего проголосовало: 13
gif 3.gif
gif 1.gif
gif 2.gif
ZT
На сайте с 24.07.2012
Offline
39
#1

Капча пробивается не мега-алгоритмами, а ордой "китайцев".

Поэтому если дело дошло до капчи, то всё плохо.

К п.2 можно добавить изменение атрибута "action" формы и "name" полей при помощи Javascript.

Также можно не грузить <form> в теле страницы сразу, а подгружать по мере необходимости ajax'ом.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#2

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

Ваш DEVOPS
DV
На сайте с 01.05.2010
Offline
644
#3

По опыту, графическая капча уже неэффективна.

Однажды специально убил время, подбирая непробиваемую капчу для бота.

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

А живой пользователь капчу очень не любит, отбивает она у него желание регистрироваться.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Mik Foxi
На сайте с 02.03.2011
Offline
1076
#4

Любая графическая капча разгадывается в сервисах типа ********и.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
Solmyr
На сайте с 10.09.2007
Offline
501
#5

Все вновь созданные аккаунты нужно считать "подозрительными" до тех пор пока он не пройдет проверку живым модератором.

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

Если непроверенный аккаунт либо пишет много сообщений, либо получает хоть одну жалобу - моментально ставится в холд. Возможность написания сообщений и отображение уже написанных автоматически блокируется до проверки модератором.

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

И установить несколько стадий проверки, скажем после 1, после 10 и после 50 сообщения.

Если форум очень популярный, поток пользователей огромный, и модераторы не справляются - можно на время холда выставлять человеку требование "вышлите копию паспорта". Пока он пару дней будет думать стоит ли форум того, высылать или нет - модератор успеет проверить.

D.iK.iJ
На сайте с 26.05.2013
Offline
225
#6

Еще забыли, кстати:

!) Реферрер. Все еще куча ботов не умеют его подставлять вообще. До 90%.

!!) Скрытое поле со временем. Если пост быстрее 5 секунд и позже 30 минут - даем отлуп. Да, можно добавить сюда соль, хеш или что-то еще, но и так отлично работает.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
SeVlad
На сайте с 03.11.2008
Offline
1609
#7

zexis, не надоело еще краудить?

/ru/forum/938357

/ru/forum/921569

/ru/forum/921362

Занялся бы лучше бы более полезным делом, чем этим разводом необразованных вебмастеров.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
YDoron
На сайте с 25.10.2005
Offline
156
#8

Считаю что капчи - прошлый век, гораздо проще сделать контрольный вопрос, не математический, что нибудь простое и оригинальное, и всё, никакие боты не лезут. Проверено на форуме SMF.

настраиваю Linux сервера, правлю баги, пишу фичи под Wordpress и Laravel
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#9
Nervjaga:
Считаю что капчи - прошлый век, гораздо проще сделать контрольный вопрос, не математический, что нибудь простое и оригинальное, и всё, никакие боты не лезут. Проверено на форуме SMF.

Тестировал на аське когда-то:

Вы спамер? :)

zexis
На сайте с 09.08.2005
Offline
388
#10
SeVlad:
zexis, не надоело еще краудить?

Я пишу о том, чем лично занимаюсь и то что меня волнует.

Описываемая здесь мной капча реально помогла мне защитить 4 моих сайта от моря спама.

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

Я не люблю спамеров, поэтому делюсь методами защиты, которые сам использую и считаю эффективными.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий