XF 2.2 Борьба со спамом

Версия XenForo
2.2.13

Akvas

Проверенные
Сообщения
80
Реакции
33
Баллы
11,015
Всем привет!
Кто как борется со спамом? Где-то недели полторы-две одолевают спамеры и консервы:
1744647447088.png

Стояли несколько лет вопрос-ответ (периодически менял), но теперь это не работает. Включил гугл-капчу, все равно регаются. Пока включил ручное одобрение + увеличил сроки по хранению ip для сравнения учеток, чтобы проще банить сразу было.
В первую их атаку вовремя зашел на форум, буквально за несколько минут наспамили ссылками на запрещенку около тысячи сообщений, но благо быстро сообразил, что надо лимиты сообщений добавить, чтобы кнопка "спам" снова появилась под сообщениями для быстрой чистки.

п.с. не поленился и зарегался на стопфоруме и добавил api-ключ, чтобы помогать обновлять спам-лист для всех
 
Последнее редактирование:
А в текстовом виде не поделишься? Спасибо
Код:
*КРАКЕН*
*KRAKEN*
*KRAKEN*
*KRAKEN*
*Cracen*
*Kraken*
*Krachen*
*Krakken*
*Krakken*
*Крэйкен*
*Крэ́йкн*
*Кра́кен*
*Kr4k3n*
*Kraken*
*KRAKEN*
*Craqen*
*Kraken*
*KPAKEH*
*КРАKЕН*
*KPAKEH*
*KPAКEH*
*KРAKEN*
*КРАКЕН*
*КРАKЕN*
*CRAKEN*
*KRAQUEHN*
*KRAQEN*
*CRAQUEHN*
*KHRACKEN*
*KR4K3N*
*KR4K3H*
*КР4К3Н*
*Kr4ken*
*KRAKEN*
*KRAAKEN*
*KRAAKEEEN*
*KRAKENN*
*kRaKeN*
*KrAkEn*
*KRAken*
*КрAкен*
*KR@KEN*
*КРАКЕН*
*KRAKEN*
*KRAKEN*
*KRAKEN*
*Cracen*
*Kraken*
*Krachen*
*Krakken*
*Krakken*
*Крэйкен*
*Крэ́йкн*
*Кра́кен*
*Kr4k3n*
*Kraken*
*KRAKEN*
*Craqen*
*Kraken*
*KPAKEH*
*КРАKЕН*
*KPAKEH*
*KPAКEH*
*KРAKEN*
*КРАКЕН*
*КРАKЕN*
*CRAKEN*
*KRAQUEHN*
*KRAQEN*
*CRAQUEHN*
*KHRACKEN*
*KR4K3N*
*KR4K3H*
*КР4К3Н*
*Kr4ken*
*KRAKEN*
*KRAAKEN*
*KRAAKEEEN*
*KRAKENN*
*kRaKeN*
*KrAkEn*
*KRAken*
*КрAкен*
*KR@KEN*
*KRAKEN*
*КРАКЕН+*
*КРАКEН*
*Кракен*
*kra34*
*Казино*
*кракен*
*Casino*
*KRaKeN*
*Кр@кен*
*Blacksprut*
*даркнет*
*КРAKЕН*
*КРАKЕН*
*КРАКΞN*
*КРАКΣN*
*КРАКЕИ*
*КР@КЕН*
*КР@КΞН*
*КР*АКЕН*
*КР@КЕН*
*КРАК-ЕН*
*КРАК_ЕН*
*КРÂКЕН*
*КРАКЁН*
*КРАКЕНН*
*КРАКЕЕЕН*
*КРАККЕН*
*КРАКЭН*
*KR4K3N*
*KR4KEN*
*KRAK3N*
*KR@K3N*
*KR@K€N*
*КR@K3N*
*-KRAKEN-*
*KRAKEN_*
*KRAKEN*
*KRAKEN123*
*XXKRAKENXX*
*THEKRAKEN*
*Кр@кен*
*Кр@к3н*
*Кр4к3н*
*Кр4кен*
*Кр@к€н*
*Кр@кен*
*Кр@кзн*
*Кракеи*
*Kraken*
*Kraken*
*Krak3n*
*Kr4k3n*
*Kr@k3n*
*Craken*
*К@зино*
*К@zино*
*К@зuно*
*К@зiно*
*К@зiн0*
*К@з1но*
*Казин0*
*Kazino*
*Cazino*
*K@zino*
*K@zin0*
*Casino*
*К Р А К Е Н*
*K R A K E N*
*К р а к е н*
*K r a k e n*
*krake*
*краке*
*крокен*
*darknet*
*ProxyMarket*
*kra37*
*kra37 at*
*kra38*
*kra*
*КРАКЕН*
*KRAKEN*
*Cracen*
*Kraken*
*Krachen*
*Krakken*
*Крэйкен*
*Крэ́йкн*
*Кра́кен*
*Kr4k3n*
*Craqen*
*KPAKEH*
*CRAKEN*
*KRAQUEHN*
*KRAQEN*
*CRAQUEHN*
*KHRACKEN*
*KR4K3N*
*KR4K3H*
*КР4К3Н*
*Kr4ken*
*KRAAKEN*
*KRAAKEEEN*
*KRAKENN*
*kRaKeN*
*KrAkEn*
*KRAken*
*KR@KEN*
*k r a37 сс*
*kra37.сс*
*clck.ru*
 
У меня ТТТ потыкались в платный антиспам наверно с недели две, и отчалили.
Сейчас дежурно одной учеткой пытаются глубокой ночью, не пролазит и отчаливают восвояси до следующей ночи
 
Ложное срабатывание показало, что темы создаются ajax запросом. Остается вопрос, как это использовать

Код:
--6Ufxv71a---A-- [26/Sep/2025:09:59:43 +0300] 175886998339.464981 156.228.93.144 51793 *.*.*.* 443
--6Ufxv71a---B-- POST /forums/vse-o-proxy-i-vpn.302/post-thread HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Cookie: xf_csrf=IFVn8pLfccUDOLa5; xf_sam_ad_views=%7B%221%22%3A1758645498%7D; xf_user=32998%2CvD_-LSuEGWe5zl8mk7JXK_Jf9VyQWJX3uhh7HRXT; xf_session=KkkIt9kOPslQi8Lnvp8hOSPWaS9eSyTJ; _ga=GA1.1.512888775.1758645497; _clck=14jnsip%5E2%5Efzk%5E0%5E2092; _ym_uid=1758645498690591885; _ym_d=1758645498; __gads=ID=d4411439e3590828:T=1758645498:RT=1758645498:S=ALNI_MZyRPI8Ymc5Wm6WdMnOfaa0jhaEEg; __gpi=UID=00001035342da9c3:T=1758645498:RT=1758645498:S=ALNI_MZe_zfs3B2gRLSKlHrPWlsGgJ42hQ; __eoi=ID=5e2477e61994f5b1:T=1758645498:RT=1758645498:S=AA-AfjbDXNa1ow65ZlTaNrEOz6eI; _ym_isad=2; _ym_visorc=w; FCNEC=%5B%5B%22AKsRol8frfW84yDwVm4_bw00iyszHqfIGYRWUu5QDPa97XXIb1pcTsP3sSkrMDZtK1Zmae-bxBVxeaeEt8jZszkibZmdKQSQOF5-4iIJdxL6Oyn-2dNapOx_LZdNmEOz-WSUlVNhNn1EiXoMxpjNsa62D2k57GXIyQ%3D%3D%22%5D%5D; _ga_XDC25H1L3D=GS2.1.s1758645497$o1$g1$t1758645782$j60$l0$h0; _clsk=1xv5v5x%5E1758645783376%5E11%5E1%5Ez.clarity.ms%2Fcollect
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Referer: ***post-thread
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
Content-Length: 22796
 
В результате обходы находят в лице живых пользователей. Уже почти неделю было тихо и вот появилась обновочка в лице новых фраз.
Как и новые фразы судя по всему появились, так что добавляем:
Код:
*k rak46.top*
*rak46.top*
*КРAКEН*
*КРAКEН@@*
*КРAКEН@*
*KRАKЕN*
*К*Р*@КЕН*
ASN 49505, SELECTEL, RU показал, что это 100% был человек т.к. несколько живых пользователей под ним у меня есть. Правда лучше добавить в правило ASN +3|SELECTEL, чтобы уходило в предмодерацию.
 

Вложения

  • 1759319981988.png
    1759319981988.png
    38.2 KB · Просмотры: 41
  • 1759320359143.png
    1759320359143.png
    226 KB · Просмотры: 37
Последнее редактирование:
В результате обходы находят в лице живых пользователей. Уже почти неделю было тихо и вот появилась обновочка в лице новых фраз.
Как и новые фразы судя по всему появились, так что добавляем:
Код:
*k rak46.top*
*rak46.top*
*КРAКEН*
*КРAКEН@@*
*КРAКEН@*
*KRАKЕN*
*К*Р*@КЕН*
ASN 49505, SELECTEL, RU показал, что это 100% был человек т.к. несколько живых пользователей под ним у меня есть. Правда лучше добавить в правило ASN +3|SELECTEL, чтобы уходило в предмодерацию.
Почему не хотите использовать регулярные выражения которые я выкладывал выше?

Снимок экрана 2025-10-03 173641.png
 
Я использую вот эти регулярные выражения.
Пропусков пока нет.

Код:
/[КKΚKкκĶḲḴƘǨᴋꞢꞣ]+[\s\W]*[РRΡRрρŔŖŘȐȒṘṚṜṞʁᴦꝚꞂꞃ]+[\s\W]*[АAΑаaαÀÁÂÃÄÅĀĂĄǍȀȂȦḀẠẢẤẦẨẪẬẮẰẲẴẶᾸᾹᾺΆᾼ₳@]+[\s\W]*[КKΚKкκĶḲḴƘǨᴋꞢꞣ]+[\s\W]*[ЕEΕеeεÈÉÊËĒĔĖĘĚȄȆȨḔḖḘḚḜẸẺẼẾỀỂỄỆᴇ3]+[\s\W]*[НNΝНнnνÑŃŅŇǸȠṊṈṆṄƝNJNjnjᴎꞐꞑ]+/ui

/(?:https?:\/\/)?(?:www\.)?[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,})(?::\d{1,5})?(?:\/[^\s\]\[}{<>"\'()]*)?(?:\?[^\s\]\[}{<>"\'()]*)?/ui

/[КKΚKКκĸḲḴƘǨᴋꞡꞢꞣ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[РRΡРρᴩᴦꝚꞂꞃ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[АAΑАαᴀⱥꬱꭤа@][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*/ui

/[dDдДðÐďĐḋḑḓḏ][\s\W]*[aAаА@4àáâãäåāăąǎȁȃȧḁạảấầẩẫậắằẳẵặǡǻǟ][\s\W]*[rRрРŕŗřȑȓṙṛṝṟ][\s\W]*[kKкКκĸḳḵƙǩ][\s\W]*[nNнНñńņňǹṅṇṉṋ][\s\W]*[eEеЕ3èéêëēĕėęěȅȇȩḕḗḙḛḝẹẻẽếềểễệ][\s\W]*[tTтТ7ţťŧṫṭṯṱẗ]/ui

/[КKΚKкκĶḲḴƘǨᴋꞢꞣ]+[!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[АAΑаaαÀÁÂãäåāăąǎȀȂȦḀẠẢẤẦẨẪẬẮẰẲẴẶᾸᾹᾺΆᾼ₳@4]+[!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[ЗZΖзzζŹŻŽƵȤẐẒẔ]+[!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[ИIΙиiιІЇìíîïĩīĭįǐȉȋḭḯ]+[!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[НNΝнnνÑŃŅŇǸȠṊṈṆṄƝNJNjnjᴎꞐꞑ]+[!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[ОOΟОоoοóòôõöōŏőǒȍȏȫȭȯȱᴏ]+/ui

/[cCсСçćĉċč][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[aAаА@4àáâãäåāăąǎȁȃȧḁạảấầẩẫậắằẳẵặǡǻǟ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[sSсСśŝşšș][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[iIиИіІїЇıìíîïĩīĭįǐȉȋḭḯ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[nNнНñńņňǹṅṇṉṋ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*[oOоOóòôõöōŏőǒȍȏȫȭȯȱᴏ][!@#$%^&*()_\-+=\[\]{}|\\\\:;"\'<>,.?\/\s]*/ui
 
Я полностью убил спам через Cloudflare кастомные правила с JS Challange на ASN облачных провайдеров — AWS, OVH, Google Cloud, Microsoft Azure, Alibaba Cloud, Huawei Cloud и российских VPS провайдеров. Это отсекает 95%.

Дальше есть аддон Block IP, чтоб блокировать на стадии попытки регистрации.


Он проверяет IP по базе данных и API через , там лимит 1000 запросов в день, но для нас более чем достаточно, платный безлимитный API стоит копейки, 20 баксов в месяц, если огромный форум и коммерческий проект, то вообще копейки.

Сейчас может один спамер раз 6-8 недель регистрируется, и то вручную c "белых" сеток, вроде МТС или Билайна.

Ну и предмодерация первого сообщения новыми пользавателями. По сути, спам никто не видит, кроме модераторов, опять же один раз в 6-8 недель может.
 
Последнее редактирование:
Ну у меня все стабильно ТТТ
Ночью, в количестве одного штуки пришел, потыкался в платный антиспам и отчалил. И так каждую ночь
По началу было нашествие, не пролезло. Потом пытались по разному пролезть, тоже не прошло. Ну и сейчас вот такой, судя по всему, дежурный режим
Каждую ночь проверяют в надежде, а вдруг...
 
что это 100% был человек
там платят пару копеек за спам на форумах, когда у меня были такие же они были зарегистрированы на реальных почтах и айпишниках, а потом мне подсказали про то что им платят
 
Сегодня ночью попытались наспамить 1759886505286.png. Все отбила регулярка + Akismet.

1759886612526.png

Вообще, как тут и писали, @rambler в запрете сильно снизил количество спамеров, прям очень редко стали залетать. Ну и запрет потч-однодневок дало результаты. А то регались со всяких @0-180.com, @zylpu4cm6hrwrgrqxb.gq
 
Сегодня ночью попытались наспамить Посмотреть вложение 159854. Все отбила регулярка + Akismet.

Посмотреть вложение 159855

Вообще, как тут и писали, @rambler в запрете сильно снизил количество спамеров, прям очень редко стали залетать. Ну и запрет потч-однодневок дало результаты. А то регались со всяких @0-180.com, @zylpu4cm6hrwrgrqxb.gq

Обновите регулярки, я выше выкладывал более расширенные варианты!

 
Обновите регулярки, я выше выкладывал более расширенные варианты!
Да, я их тоже добавил, спасибо. (эмоцию благодарности не могу поставить в виду ограничения у.з. примите словесную благодарность 😊)
 
По поводу Cloudflare, если форум русскоязычный, в Cloudflare добавить whitelist стран через правило, что-то типа:

Код:
not http.request.uri.path in {"/robots.txt" "/sitemap.xml" "/sitemap.php"}
and not cf.client.bot
and not ip.src.asnum eq 13335
and not ip.src.country in {"AM" "AZ" "BY" "EE" "GE" "KZ" "KG" "LV" "RU" "UA" "AE" "UZ" "IL"}

Сделать первым правилом, это по сути форсит JS Challange на все страны кроме тех, где реалистично используют русский язык (СНГ/Израиль). Вторым правилом отдельно сделать матч ASN VPS провайдеров в которые проскакивают и откуда идет бот трафик:

Код:
not http.request.uri.path in {"/robots.txt" "/sitemap.xml" "/sitemap.php"}
and not cf.client.bot
and not ip.src.asnum eq 13335
and ip.src.asnum in {204582 35048 200044 47913 214574 9009}

В настройках выставить жизнь успешного JS Challange на 1-6 часов. У Cloudflare капча отлично работает, просто кликом, без выбора картинок. Для реальных пользователей безболезненная. И то затрагивает тех, кто живет вне СНГ и Израиля, или сидит на VPN. Но отсекает 98% бот трафика. Можно в панели следить за статами, solve rate по первому правилу — 0.15% у меня за последние 6 месяцев (больше 20 тысяч срабатываний правила в день), то есть 0.15% это реальные люди. По второму правилу solve rate 0.09%, то есть трафик с ASN VPS провайдеров в СНГ почти полностью боты и/или скраперы.

Я уже писал выше, что с таким раскладом, у меня может один спамер регистрируется и пытается создать тему раз в 6-7 недель (которые останавливаются фразами выше от lukamal и идут на предмодерацию), и то это вручную макаки спамят за деньги, с реальных почтовых ящиков и белых подсеток Вымпелкома/МГТС/Ростелекома.

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

Если IP один или несколько то можно попробовать через запрос удалить посты созданные с этих ip за последние 24 часа.
SQL:
DELETE FROM xf_post WHERE user_id IN (SELECT user_id FROM xf_user WHERE register_ip = 'SPAM_IP' AND register_date > UNIX_TIMESTAMP(NOW() - INTERVAL 1 DAY))
 
Если IP один или несколько то можно попробовать через запрос удалить посты созданные с этих ip за последние 24 часа.
после такого запроса ещё нужно не забыть погонять ребилды счётчиков
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу