AnubisBB

Расширения, сгенерированные с помощью искусственного интеллекта.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2490
Стаж: 13 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 655 раз
Поблагодарили: 175 раз

AnubisBB

Сообщение romaamor »

AnubisBB

Дороботанная версия расширения от NeoDev
Страница оригинального расширения - https://www.phpbb.com/community/viewtopic.php?t=2662765

Обзор

AnubisBB — современное расширение для phpBB, реализующее защиту форума от ботов и скрейперов с помощью механизма proof-of-work (доказательство работы).

- **Proof-of-Work Challenge:** Каждый посетитель проходит автоматическую проверку для доступа к ресурсу, что эффективно блокирует автоматизированные атаки.
- **Гибкая настройка сложности:** В административной панели можно задать уровень сложности (от 1.0 до 8.0, с шагом 0.1).
- **Современная статистика:** В ACP отображаются красочные графики (Chart.js) по дням и странам — удобно анализировать эффективность защиты.
- **Загрузка пользовательских изображений:** Можно загрузить свои картинки для разных состояний (ожидание, успех, ошибка).

Изображение

- **Локализация:** Полная поддержка русского и английского языков.
- **Современный дизайн:** Используются современные стили и компоненты, приятный светлый интерфейс.
- **Не требует модификации ядра phpBB.**

Новое в 0.2.2
- Красочные графики статистики в ACP (Chart.js)
- Светлый дизайн блоков статистики
- Исправлены переводы и улучшена локализация
- Актуализировано описание и документация

Изображение


Уровни сложности

Расширение поддерживает дробные уровни сложности (от 1.0 до 8.0) для гибкой настройки. Каждый шаг 0.1 увеличивает сложность примерно на 10%.

Примеры шкалы сложности:
- **1.0-2.0**: Очень быстро (миллисекунды — секунды)
- **2.0-3.0**: Быстро (1-5 секунд)
- **3.0-4.0**: Умеренно (5-15 секунд)
- **4.0-5.0**: Средне (15-60 секунд)
- **5.0-6.0**: Медленно (1-5 минут)
- **6.0-8.0**: Очень медленно (5+ минут)

Рекомендуемые настройки:
- **3.0-4.0**: Хороший баланс для большинства форумов
- **4.0-4.5**: Усиленная защита с приемлемым удобством
- **4.5-5.0**: Максимальная защита для форумов под атакой

Установка

Внимание! Перед установкой расширения обязательно убедитесь, что на вашем хостинге установлен и включён модуль PHP sodium. Без него расширение не будет работать, а форум может выдавать ошибку 500 или перестать работать до отключения расширения.

1. Скопируйте папку `neodev/anubisbb` в директорию `ext/` вашего форума.
2. Включите расширение через ACP → "Настроить" → "Расширения".
3. (Опционально) Для поддержки .mjs файлов на Apache добавьте: `AddType text/javascript .mjs`

Лицензия
[GNU General Public License v2](license.txt)
Переделанно с помощью Cursor - The AI Code Editor

Демо: https://picnic-tv.com/
neodev.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось romaamor 15.07.2025 14:26, всего редактировалось 1 раз.
Аватара пользователя
Leo Angel
phpBB 2.0.8
Сообщения: 672
Стаж: 7 лет 8 месяцев
Откуда: Израиль
Благодарил (а): 229 раз
Поблагодарили: 85 раз

Re: AnubisBB

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

То есть любой пользователь, желающий просто зайти на форум "на почитать", должен будет решить задачку. Я правильно понимаю?
Не отпугнёт ли это от форума вообще всех желающих просто посмотреть-почитать?
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2490
Стаж: 13 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 655 раз
Поблагодарили: 175 раз

Re: AnubisBB

Сообщение romaamor »

Leo Angel писал(а): 15.07.2025 14:00 То есть любой пользователь, желающий просто зайти на форум "на почитать", должен будет решить задачку. Я правильно понимаю?
Не отпугнёт ли это от форума вообще всех желающих просто посмотреть-почитать?
Нет. Задачи там решать не надо. Идёт автоматическая проверка. И если она пройдена, то открывается страница форума.
Описание не правильное. Исправил.
katzenklo
phpBB 1.0.0
Сообщения: 2
Стаж: 12 дней

Re: AnubisBB

Сообщение katzenklo »

is there a way to allow certain Bots? GoogleBot is not allowed per default and can not pass the challenge.
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2490
Стаж: 13 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 655 раз
Поблагодарили: 175 раз

Re: AnubisBB

Сообщение romaamor »

katzenklo писал(а): 19.09.2025 12:11 is there a way to allow certain Bots? GoogleBot is not allowed per default and can not pass the challenge.
New version. Improved checking of all known search bots.
neodev.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
memas
phpBB 1.0.0
Сообщения: 6
Стаж: 1 месяц
Благодарил (а): 2 раза

Re: AnubisBB

Сообщение memas »

Скажите а как проходит проверка по каким критериям ? Открыл ваш демо не успел даже прочитать что там на странице за проверка была :D
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2490
Стаж: 13 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 655 раз
Поблагодарили: 175 раз

Re: AnubisBB

Сообщение romaamor »

memas писал(а): 20.09.2025 19:54 Скажите а как проходит проверка по каким критериям ?
Отличный вопрос! Давайте разберем, как именно проходит проверка ботов в исправленной системе. Сейчас у вас работают два расширения в связке:
1. StopBadBots (первичная проверка)
Критерии проверки StopBadBots:
Этап 1: Проверка легитимных ботов

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

// Проверяется User-Agent на наличие известных ботов
if (stripos($user_agent, 'Googlebot') !== false) {
    // Дальше идет многоуровневая проверка
}
Этап 2: Многоуровневая проверка легитимности
2.1. Проверка whitelist (самый приоритетный)

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

if (in_array($user_agent, array_column($ua_whitelist, 'value'))) {
    $is_legit = true; // Сразу пропускаем
}
2.2. Проверка Reverse DNS (RDNS)

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

// Проверяет, что IP-адрес резолвится в домен поисковика
if ($this->verify_rdns($ip, ['.googlebot.com', '.google.com'])) {
    $is_legit = true;
}
2.3. Проверка IP-диапазонов

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

// Проверяет, что IP входит в официальные диапазоны
foreach ($bot_data['ip_ranges'] as $range) {
    if ($this->ip_matches($ip, $range)) {
        $is_legit = true;
    }
}
2.4. Мягкая проверка User-Agent (новая логика)

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

// Если строгие проверки не прошли, но User-Agent выглядит легитимно
if ($this->is_likely_legitimate_bot($user_agent, $bot_key)) {
    $is_legit = true;
}
Этап 3: Проверка blacklist

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

// Проверка User-Agent blacklist
foreach ($ua_list as $ua) {
    if (stripos($user_agent, $ua) !== false) {
        return 'Bloqueado por User-Agent: ' . $user_agent;
    }
}

// Проверка IP blacklist
foreach ($ip_list as $blocked_ip) {
    if ($this->ip_matches($ip, $blocked_ip)) {
        return 'Bloqueado por IP: ' . $ip;
    }
}

// Проверка Referer blacklist
foreach ($ref_list as $blocked_referer) {
    if (stripos($referer_host, $blocked_referer) !== false) {
        return 'Bloqueado por Referer: ' . $referer;
    }
}
2. AnubisBB (вторичная проверка)
Критерии проверки AnubisBB:
Этап 1: Проверка cookie

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

if ($this->anubis->validate_cookie()) {
    return; // Пропускаем, если есть валидная cookie
}
Этап 2: Проверка пользователей и ботов phpBB

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

if ($this->user->data['is_bot'] || $this->user->data['is_registered']) {
    return; // Пропускаем зарегистрированных и ботов phpBB
}
Этап 3: Дополнительная проверка поисковых ботов

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

if ($this->is_search_engine_bot()) {
    return; // Пропускаем поисковых ботов
}
Этап 4: Проверка специальных страниц

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

// Пропускаем определенные страницы
switch ($page) {
    case 'app':
        if (preg_match('~^/(?:cron|feed|anubis|user|help)/~', $route)) {
            return;
        }
        break;
    case 'ucp':
        if (in_array($mode, ['login', 'logout', 'confirm', 'sendpassword'])) {
            return;
        }
        break;
}

Этап 5: Показ challenge

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

// Если все проверки не прошли - показываем Proof-of-Work challenge
$this->template->set_filenames(['body' => '@neodev_anubisbb/make_challenge.html']);
Последовательность проверки:
1. Запрос приходит на сайт

2. StopBadBots проверяет:
- Легитимные боты (Google, Yandex, Bing) → ПРОПУСК
- Blacklist → БЛОКИРОВКА
- Остальные → ПРОДОЛЖЕНИЕ

3. AnubisBB проверяет:
- Валидная cookie → ПРОПУСК
- Зарегистрированный пользователь → ПРОПУСК
- Бот phpBB → ПРОПУСК
- Поисковый бот → ПРОПУСК
- Специальная страница → ПРОПУСК
- Остальные → CHALLENGE

Критерии для пропуска:
Автоматически пропускаются:
✅ Googlebot, Googlebot-Image, Googlebot-News, Googlebot-Video
✅ AdsBot-Google, Mediapartners-Google, FeedFetcher-Google
✅ YandexBot, YandexImages, YandexVideo, YandexNews, YandexBlogs
✅ Bingbot, MSNbot, DuckDuckBot
✅ Зарегистрированные пользователи
✅ Пользователи с валидной AnubisBB cookie
✅ Страницы: cron, feed, login, logout, help, contactadmin
Блокируются:
❌ Боты из blacklist StopBadBots
❌ IP-адреса из blacklist
❌ Referer из blacklist
❌ Fake боты (поддельные User-Agent без правильного IP/RDNS)
Показывается challenge:
⏳ Анонимные пользователи без cookie
⏳ Неизвестные боты
⏳ Подозрительные запросы
Такая многоуровневая система обеспечивает максимальную защиту, не мешая легитимным ботам и пользователям!

Уровень проверки для пользователей выставляется в настройках расширения. На демо форуме он сейчас минимальный. Поэтому Вы могли нечего и не заметить.
Аватара пользователя
memas
phpBB 1.0.0
Сообщения: 6
Стаж: 1 месяц
Благодарил (а): 2 раза

Re: AnubisBB

Сообщение memas »

Понял, спасибо за подробный ответ. А работает расширение в связке с cloudflare ?
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2490
Стаж: 13 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 655 раз
Поблагодарили: 175 раз

Re: AnubisBB

Сообщение romaamor »

memas писал(а): 21.09.2025 19:39 А работает расширение в связке с cloudflare ?
Да. Тестовый форум подключен через клауд.

Вернуться в «ИИ расширения»