Атака китайских ботов

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Leo Angel
phpBB 2.0.10
Сообщения: 773
Стаж: 8 лет 5 месяцев
Откуда: Израиль
Благодарил (а): 249 раз
Поблагодарили: 94 раза

Re: Атака китайских ботов

Сообщение Leo Angel »

Kuskow писал(а): Сегодня 15:04 ...я стесняюсь делиться своими мыслями, идеями... Мне кажется, что они слишком наивные.
Лучше СПРОСИТЬ глупость, чем её СДЕЛАТЬ!
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 407
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 38 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Ага, но у меня так не работает.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3356
Стаж: 17 лет 3 месяца
Благодарил (а): 19 раз
Поблагодарили: 574 раза

Re: Атака китайских ботов

Сообщение Nekstati »

Ne_Guru, Kuskow, создание иллюзии своей продвинутости - самый полезный для человека скилл.
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 407
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 38 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Антибот для phpBB (версия 3), если нет доступа к настройкам Apache и Nginx.
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.

Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, а в третьем нужно не добавлять скрипт в config.php, а заменять прежнюю версию скрипта в этом файле.

На своём форуме проверил (кроме AJAX), с PHP 7.4-8.5 полностью совместимо. И не важно, находится ли форум в корне сайта или в отдельной папке - будет работать и так, и сяк, ничего исправлять для этого не нужно.

1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB /assets/javascript/core.js в самом начале вставляем:

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

document.cookie = "checked=1; path=/; max-age=31104000; SameSite=Lax";

2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: ЯG [Bot] (можно придумать своё, например, All Bots).
Соответствие агенту: Debutante (тут важно написать точно так же, как в 3 блоке 3 пункта).
Остальные графы формы можно оставить по умолчанию.

3. В конец файла config.php добавляем:

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

### Барьер для phpBB, версия 3. Авторы: Kuskow & AI on Google Search

if (empty($_COOKIE['checked'])) # Этот кук есть только у людей
{
$uri = $_SERVER['REQUEST_URI'];

# 1. Шлагбаум: всем ботам разрешены только страницы и аватары, с правильным порядком параметров
!preg_match('#^/$|index.php|viewforum.php|viewtopic|avatar|webpush#i', $uri)
+preg_match('#view(topic|forum)\.php\?start=#i', $uri)
and exit(http_response_code(403));

# 2. Гардероб: разуваем гостей, но не персонал
!preg_match('/(cp\.php|hash=|mark_|webpush)/i', $uri)
and ($uri = rtrim(str_replace('?&', '?', preg_replace("/&(sid|hilit|gclid|yclid|ysclid|fbclid|utm_\w+)=[^&]*/i", '', str_replace(['/index.php', '?'], ['/', '?&'], $uri))), '?&')) !== $_SERVER['REQUEST_URI']
and exit(header('Location: ' . $uri, true, 308));

# 3. Дебютант: неопознанный бот или первый визит гостя считается как один опознанный бот
$_SERVER['HTTP_USER_AGENT'] = 'Debutante';
}
* Если у вас старница /index.php отличается от / и это важно - поменяйте слово "index" на "bindex" или "shmindex" в блоке #2.
Vlad__
phpBB 2.0.7
Сообщения: 576
Стаж: 9 лет 6 месяцев
Благодарил (а): 243 раза
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 19:28 # 1. Шлагбаум: всем ботам разрешены только страницы и аватары, с правильным порядком параметров
!preg_match('#^/$|index.php|viewforum.php|viewtopic|avatar|webpush#i', $uri)
+preg_match('#view(topic|forum)\.php\?start=#i', $uri)
and exit(http_response_code(403));
А если какое-либо расширение добавляет на форум страницу вида /extpage.php ? Бот ее не получит, получается? Ручками нужно у себя вылавливать кастомные страницы и добавлять в код? Я уже и не помню сколько у меня таких )
Ne_Guru
phpBB 1.2.1
Сообщения: 23
Стаж: 3 дня
Благодарил (а): 3 раза

Re: Атака китайских ботов

Сообщение Ne_Guru »

Черт знает что...
Похоже на DDOC-атаку
stat3.jpg
Завтра буду разбираться... :(
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «phpBB-пространство»