Лучше СПРОСИТЬ глупость, чем её СДЕЛАТЬ!Kuskow писал(а): Вчера 15:04 ...я стесняюсь делиться своими мыслями, идеями... Мне кажется, что они слишком наивные.
Атака китайских ботов
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 773
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 249 раз
- Поблагодарили: 94 раза
Re: Атака китайских ботов
-
Kuskow
- phpBB 2.0.4
- Сообщения: 409
- Стаж: 10 лет
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 27 раз
- Поблагодарили: 38 раз
-
Nekstati
- Поддержка

- Сообщения: 3356
- Стаж: 17 лет 3 месяца
- Благодарил (а): 19 раз
- Поблагодарили: 574 раза
Re: Атака китайских ботов
Ne_Guru, Kuskow, создание иллюзии своей продвинутости - самый полезный для человека скилл.
-
Kuskow
- phpBB 2.0.4
- Сообщения: 409
- Стаж: 10 лет
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 27 раз
- Поблагодарили: 38 раз
Re: Атака китайских ботов
Антибот для phpBB (версия 3), если нет доступа к настройкам Apache и Nginx.
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, а в третьем нужно не добавлять скрипт в config.php, а заменять прежнюю версию скрипта в этом файле.
На своём форуме проверил (кроме AJAX), с PHP 7.4-8.5 полностью совместимо. И не важно, находится ли форум в корне сайта или в отдельной папке - будет работать и так, и сяк, ничего исправлять для этого не нужно.
1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB
2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: ЯG [Bot] (можно придумать своё, например, All Bots).
Соответствие агенту:
Остальные графы формы можно оставить по умолчанию.
3. В конец файла
* Если у вас старница
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, а в третьем нужно не добавлять скрипт в 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: Атака китайских ботов
А если какое-либо расширение добавляет на форум страницу вида /extpage.php ? Бот ее не получит, получается? Ручками нужно у себя вылавливать кастомные страницы и добавлять в код? Я уже и не помню сколько у меня таких )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));
-
Ne_Guru
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 4 дня
- Благодарил (а): 3 раза
Re: Атака китайских ботов
Черт знает что...
Похоже на DDOC-атаку Завтра буду разбираться...
Похоже на DDOC-атаку Завтра буду разбираться...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Kuskow
- phpBB 2.0.4
- Сообщения: 409
- Стаж: 10 лет
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 27 раз
- Поблагодарили: 38 раз
Re: Атака китайских ботов
Да, именно так. Но сначала подумать: а вдруг слово "нужно" тут лишнее. Настолько ли уникальный контент на этих страницах, что он обязателен в выдаче поисковиков? Увидит ли новый пользователь информацию в таком виде, чтобы захотеть тут зарегистрироваться?
Отправлено спустя 1 час 51 минуту 6 секунд:
Утро вечера мудренее, оказывается. Вчера я выложил код с ошибками, прошу прощения, он неправильно отрабатывал в cli (cron). Сейчас выложу исправленный.
-
Kuskow
- phpBB 2.0.4
- Сообщения: 409
- Стаж: 10 лет
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 27 раз
- Поблагодарили: 38 раз
Re: Атака китайских ботов
Антибот для phpBB, версия 3. Для тех, у кого нет доступа к настройкам Apache, Nginx.
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, а в третьем нужно не добавлять скрипт в
1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB
2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: Bots & Debutante (можно придумать своё, например, all bots).
Соответствие агенту:
Остальные графы формы можно оставить по умолчанию.
3. В конец файла
* ChatGPT - это совсем не то, о чём вы подумали
* Если у вас страница
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, а в третьем нужно не добавлять скрипт в
config.php, а заменить прежнюю версию скрипта в этом файле.1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB
/assets/javascript/core.js в самом начале вставляем:
Код: Выделить всё
document.cookie = "checked=1; path=/; max-age=31104000; SameSite=Lax";2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: Bots & Debutante (можно придумать своё, например, all bots).
Соответствие агенту:
Debutante (тут важно написать точно так же, как в 3 блоке 3 пункта).Остальные графы формы можно оставить по умолчанию.
3. В конец файла
config.php добавляем:
Код: Выделить всё
### Барьер для phpBB, версия 3. Авторы: Kuskow & AI on Google Search
if (isset($_SERVER['REQUEST_METHOD']) && empty($_COOKIE['checked'])) # Этот кук есть только у людей
{
$uri = $_SERVER['REQUEST_URI'];
$ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
# 1. Шлагбаум закрыт для плохих ботов, методов и запросов
!preg_match('#/$|/(index|file)\.php|/view(forum|topic)\.php\?[ftp]=|webpush#i', $uri)
+preg_match('#ChatGPT|keys-so|python|Firefox\/72#i', $ua)
and exit(http_response_code(403));
# 2. Гардероб разувает гостей, но не персонал
!preg_match('/(cp\.php|hash=|mark_|webpush)/i', $uri)
and ($newuri = rtrim(str_replace('?&', '?', preg_replace("/&(sid|hilit|view|gclid|yclid|ysclid|fbclid|utm_\w+)=[^&]*/i", '', str_replace(['/index.php', '?'], ['/', '?&'], $uri))), '?&')) !== $uri
and exit(header('Location: ' . $newuri, true, 308));
# 3. Хороших ботов и дебютантов объединяем в одном аккаунте бота без сессии
$_SERVER['HTTP_USER_AGENT'] = 'Debutante';
}
* ChatGPT - это совсем не то, о чём вы подумали
* Если у вас страница
/index.php отличается от / и это важно - поменяйте слово "index" на "bindex" или "shmindex" в блоке #2.-
Ne_Guru
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 4 дня
- Благодарил (а): 3 раза
Re: Атака китайских ботов
Nekstati, простите за задержку с ответом.Nekstati писал(а): Вчера 14:34На самом-то деле кол-во посетителей осталось прежним, сколько-то сотен или тысяч, и на каждого из них сервер запускает обработку PHP. Мой скрипт не даёт запуститься тяжёлым скриптам форума и вызовам БД, когда обнаруживает бота, - но интерпретатор PHP всё равно запускается. В этом отличие от защиты, прописанной непосредственно в конфиге сервера, как описывали выше - там очередь до PHP не доходит. Пробуйте. Разница в нагрузке может быть многократная.Ne_Guru писал(а): Вчера 12:42 Кол-во пользователей на форуме показывается адекватное, но вот нагрузки - довольно высокие.
Смысл моего скрипта в том, что админу обычно удобнее прописать алгоритм защиты в PHP, понять такой алгоритм ему тоже проще, да и советы ИИ по PHP более предметные, чем по Nginx. Но защита через Nginx в любом случае эффективнее по нагрузке.
Просто я, к сожалению, практически ничего не понял из того, что вы написали.
Я вас очень уважаю (оказывается, у меня на форуме стояло расширение antibot 42, написанное вами еще в 2015 году!), но являюсь не то, что чайником, а даже к нему не приблизился.
Я пока оставил ваш скрипт, нагрузка у меня взлетела (думаю, не из-за этого сприпта), включил DDOS-защиту, обратился в техподдержку хостера в надежде, что они заблокируют этих "ботов" по ip-адресам.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Siava
- Поддержка

- Сообщения: 5537
- Стаж: 21 год 5 месяцев
- Откуда: Питер
- Благодарил (а): 187 раз
- Поблагодарили: 774 раза
Re: Атака китайских ботов
Нормально так 1600 в месяц.
VPS наверное дешевле обойдётся, а там тот же Anubis настроить и забыть про ботов, чем городить велосипеды написанные с помощью ИИ)
VPS наверное дешевле обойдётся, а там тот же Anubis настроить и забыть про ботов, чем городить велосипеды написанные с помощью ИИ)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
Ne_Guru
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 4 дня
- Благодарил (а): 3 раза
Re: Атака китайских ботов
Это - временная мера, на несколько дней (по крайней мере, я на это рассчитываю).
Для меня и слово VPS, и слово Anubis - совершенно незнакомые понятия.
Для меня и слово VPS, и слово Anubis - совершенно незнакомые понятия.

