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

Версия XenForo
2.2.13

Akvas

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

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

п.с. не поленился и зарегался на стопфоруме и добавил api-ключ, чтобы помогать обновлять спам-лист для всех
 
Последнее редактирование:
zero69rus, это вообще полный буллшит.
Боты не человек - они даже не увидят этот оверлей. А если и увидят (и это помешает условному селениуму) то есть два максимально тупых решения:
1. Выключить JS (Или конкретно этот блок скрипта)
2. Вырезать оверлей со страницы

Проверка на ботов ОБЯЗАТЕЛЬНО должна быть на стороне бэкенда - все остальное максимально неэффективно и добавит головной боли обычным пользователям

вставлять в PAGE_CONTAINER перед </body>,
С днем вредных советов
 
zero69rus, это вообще полный буллшит.
Боты не человек - они даже не увидят этот оверлей. А если и увидят (и это помешает условному селениуму) то есть два максимально тупых решения:
1. Выключить JS (Или конкретно этот блок скрипта)
2. Вырезать оверлей со страницы

Проверка на ботов ОБЯЗАТЕЛЬНО должна быть на стороне бэкенда - все остальное максимально неэффективно и добавит головной боли обычным пользователям


С днем вредных советов
Самые "дельные советы" я уже выше читал, но ничего рабочего нет. Мой скрипт работает, можно взять за основу бесплатно искать юзеров с VPN, Собственно вы вправе как пользоваться моим скриптом либо нет, это бесплатно.
 
В этой теме описаны все методы из коробки которые прекрасно работают.
Их все нужно настроить.
1. Установите таймер при регистрации например 120 или 180 секунд /admin.php?options/groups/usersAndRegistration/ Во время заполнения формы регистрация на кнопке регистрация будет идти обратный отчёт в секундах. Это будет ломать логику боту, а человек подождет пару минут.
2. /admin.php?banning/emails заблокировать все буржуйские домены с которых регистрируются боты о которых в России ни кто не знает (например: b.cr.cloudns.asia). Где взять эти домены? Смотрите почту заблокированных ботов и вносите их в заблокированные адреса электронной почты.
3. Обязательно пользуйтесь Stop Forum Spam /admin.php?options/groups/spam/ я все флаги поставил в 1.
4. Фильтруйте ботов по спам-фразам /admin.php?options/groups/spam/ лучше для спам фраз использовать регулярные выражения так как слово кракен можно написать бесконечным количеством вариантов используя символы uncode, пробелы и не буквенно-цифровые символы. Регулярные выражения на это слово смотртие выше в теме.
Код:
/(?:https?:\/\/)?(?:www\.)?[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,})(?::\d{1,5})?(?:\/[^\s\]\[}{<>"\'()]*)?(?:\?[^\s\]\[}{<>"\'()]*)?/ui
данная регулярное выражение отловит ссылку в сообщении практически в любом виде (у меня просто фантазии больше нет как можно написать ссылку ещё, что бы её не отловила эта регулярка).
5. В группе зарегистрированные пользователи обязательно в правах должна быть установлена опция обход проверки на флуд да. Здесь /admin.php?options/groups/messageOptions/ установите Минимальный интервал между размещением двух сообщений 600 Секунд или больше. Это не даст боту спамить. Он будет ждать 10 минут.
6. Вот здесь /admin.php?options/groups/spam/ установите максимальное количество сообщений для проверки на спам 6.
7. Создайте повышение например карантин. Применять повышение если -> Содержимое и достижения -> Пользователь написал как минимум X сообщений 1 и Пользователь написал не более X сообщений 6. Переводите всех зарегистрированных этим повышением в группу карантин. Пункт 5 не даст роботу создать более 6 тем или сообщений. Если он сможет пройти пункты 1, 2, 3, 4. Сделайте, что бы группа карантин могла только читать форум.
8. Создайте повышение например излечение. Применять повышение если -> Содержимое и достижения -> Пользователь получил не менее X реакций 1 или Пользователь зарегистрировался как минимум X дней назад 1. Повышением излечение переводите пользователя в группу которая идёт следующая по вашей иерархии после зарегистрированных.

Для понимания почему нужно 600 секунд. Задание планировщика -> повышение групп пользователей срабатывает один раз в час. По этому бот в худшем случаи сможет написать 6 сообщений.
По пункту 8 вы поприветствуете лайком пользователя или может ему кто-то другой поставит лайк и в течении часа он перейдёт в нужную вам группу (не нужно заходить в админку). Если вы забудете поставить лайк, то пользователь автоматически будет выведен из карантина через сутки.
Ну и понятно, что бот будет сидеть в карантине целые сутки и у вас будет время с ним разобраться.

Со временем когда наберётся база заблокированных доменов с которых идёт регистрация ботов, наберутся однозначно выявляющие спам-фразу, пункты 5, 6, 7, 8 будут не нужны.

Кидайте сюда у кого есть регулярные выражения.

По крайне мере я проблем со спамом не имею.
 
Последнее редактирование:
В этой теме описаны все методы из коробки которые прекрасно работают.
Их все нужно настроить.
1. Установите таймер при регистрации например 120 или 180 секунд /admin.php?options/groups/usersAndRegistration/ Во время заполнения формы регистрация на кнопке регистрация будет идти обратный отчёт в секундах. Это будет ломать логику боту, а человек подождет пару минут.
2. /admin.php?banning/emails заблокировать все буржуйские домены с которых регистрируются боты о которых в России ни кто не знает (например: b.cr.cloudns.asia). Где взять эти домены? Смотрите почту заблокированных ботов и вносите их в заблокированные адреса электронной почты.
3. Обязательно пользуйтесь Stop Forum Spam /admin.php?options/groups/spam/ я все флаги поставил в 1.
4. Фильтруйте ботов по спам-фразам /admin.php?options/groups/spam/ лучше для спам фраз использовать регулярные выражения так как слово кракен можно написать бесконечным количеством вариантов используя символы uncode, пробелы и не буквенно-цифровые символы. Регулярные выражения на это слово смотртие выше в теме.
Код:
/(?:https?:\/\/)?(?:www\.)?[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,})(?::\d{1,5})?(?:\/[^\s\]\[}{<>"\'()]*)?(?:\?[^\s\]\[}{<>"\'()]*)?/ui
данная регулярное выражение отловит ссылку в сообщении практически в любом виде (у меня просто фантазии больше нет как можно написать ссылку ещё, что бы её не отловила эта регулярка).
5. В группе зарегистрированные пользователи обязательно в правах должна быть установлена опция обход проверки на флуд да. Здесь /admin.php?options/groups/messageOptions/ установите Минимальный интервал между размещением двух сообщений 600 Секунд или больше. Это не даст боту спамить. Он будет ждать 10 минут.
6. Вот здесь /admin.php?options/groups/spam/ установите максимальное количество сообщений для проверки на спам 6.
7. Создайте повышение например карантин. Применять повышение если -> Содержимое и достижения -> Пользователь написал как минимум X сообщений 1 и Пользователь написал не более X сообщений 6. Переводите всех зарегистрированных этим повышением в группу карантин. Пункт 5 не даст роботу создать более 6 тем или сообщений. Если он сможет пройти пункты 1, 2, 3, 4. Сделайте, что бы группа карантин могла только читать форум.
8. Создайте повышение например излечение. Применять повышение если -> Содержимое и достижения -> Пользователь получил не менее X реакций 1 или Пользователь зарегистрировался как минимум X дней назад 1. Повышением излечение переводите пользователя в группу которая идёт следующая по вашей иерархии после зарегистрированных.

Для понимания почему нужно 600 секунд. Задание планировщика -> повышение групп пользователей срабатывает один раз в час. По этому бот в худшем случаи сможет написать 6 сообщений.
По пункту 8 вы поприветствуете лайком пользователя или может ему кто-то другой поставит лайк и в течении часа он перейдёт в нужную вам группу (не нужно заходить в админку). Если вы забудете поставить лайк, то пользователь автоматически будет выведен из карантина через сутки.
Ну и понятно, что бот будет сидеть в карантине целые сутки и у вас будет время с ним разобраться.

Со временем когда наберётся база заблокированных доменов с которых идёт регистрация ботов, наберутся однозначно выявляющие спам-фразу, пункты 5, 6, 7, 8 будут не нужны.

Кидайте сюда у кого есть регулярные выражения.

По крайне мере я проблем со спамом не имею.
кракенами спамят не боты а люди которые юзают vpn, они мне на сайте не нужны вообще! Зачем мне их пускать на порог? К тому же можно реализовать проверку на vpn на моменте регистрации типа
Код:
$ip = $_SERVER['REMOTE_ADDR'];
$org = file_get_contents("http://ip-api.com/json/{$ip}?fields=org");


if (stripos($org, 'aws') !== false || stripos($org, 'digitalocean') !== false) {
    die('Регистрация с VPS запрещена.');
}
 
К тому же можно реализовать проверку на vpn на моменте регистрации типа
Без сомнения у вас есть компетенции которые дают возможность всё это реализовать!
99% кого задолбали спамеры развиваются в других направлениях.
И им нужны способы борьбы со спамом из коробки, так как писать код для них и для меня это дилетантство.
Как я для себя решил проблему описано выше.
Как будете решать проблему вы и остальные это дело каждого!
 
Без сомнения у вас есть компетенции которые дают возможность всё это реализовать!
99% кого задолбали спамеры развиваются в других направлениях.
И им нужны способы борьбы со спамом из коробки, так как писать код для них и для меня это дилетантство.
Как я для себя решил проблему описано выше.
Как будете решать проблему вы и остальные это дело каждого!
Я Вас услышал, а про писать код, я скрипт дал ctrl+c потом ctrl+v, тестируйте и про хейт не забывайте
 
Последнее редактирование:
Я Вас услышал, а про писать код, я скрипт дал ctrl+c потом ctrl+v, тестируйте и про хейт не забывайте
Перед админкой нужно обязательно мыть руки и делать всё чисто иначе проблем не избежать.
Копировать чужой код и вставлять в движок у меня вызывает ощущение не защищённости.
Протестить все его потенциальные проблемы я не могу.
По этому это ваш путь!
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу