WP Manifestindependent plugin directory
manifest / security / security-blocker-user-agent-whitelist

Security Blocker User-Agent Whitelist

Security Blocker User-Agent Whitelist - это расширение для плагина "Advanced Security IP Blocker", которое добавляет интеллектуальную систему белого списка User-Agent. Плагин автоматически определяет поисковых ботов и доверенных сканеров, добавляя их IP-адреса в белый список основного плагина безопасности.

by Robert Bennett · github.com/robertobennett/security-blocker-user-agent-whitelist · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/robertobennett/security-blocker-user-agent-whitelist/archive/refs/heads/main.zip

📖 Описание

Security Blocker User-Agent Whitelist - это расширение для плагина "Advanced Security IP Blocker", которое добавляет интеллектуальную систему белого списка User-Agent. Плагин автоматически определяет поисковых ботов и доверенных сканеров, добавляя их IP-адреса в белый список основного плагина безопасности.

🎯 Основные возможности

  • ✅ Автоматическое обнаружение ботов: Определяет поисковых ботов и сканеров по их User-Agent
  • ✅ Интеграция с основным плагином: Автоматически добавляет IP ботов в белый список Advanced Security IP Blocker
  • ✅ Умное кэширование: Хранит IP-адреса ботов для предотвращения повторных добавлений
  • ✅ Гибкая настройка: Возможность добавлять собственные User-Agent в белый список
  • ✅ Тестирование User-Agent: Инструмент для проверки User-Agent на совпадение с белым списком
  • ✅ Совместимость: Полная интеграция с основным плагином безопасности

🚀 Установка

Способ 1: Установка через WordPress

  1. Скачайте архив плагина
  2. Перейдите в админку WordPress: Плагины → Добавить новый
  3. Нажмите Загрузить плагин
  4. Выберите архив и установите
  5. Активируйте плагин

Способ 2: Ручная установка

  1. Разархивируйте плагин
  2. Загрузите папку asb-user-agent-whitelist в директорию /wp-content/plugins/
  3. Активируйте плагин через меню Плагины в админке WordPress

⚙️ Требования

  • WordPress 6.0 или выше
  • PHP 7.4 или выше
  • Плагин Advanced Security IP Blocker (рекомендуется)
  • Права администратора WordPress

🎮 Использование

1. Настройка белого списка User-Agent

  1. Перейдите в Настройки → UA Whitelist
  2. В поле "Разрешенные User-Agent" добавьте User-Agent, которые нужно разрешить
  3. Нажмите "Сохранить настройки"

Формат:

Googlebot
Bingbot
YandexBot
facebookexternalhit
Twitterbot

2. Предустановленные User-Agent

Плагин включает готовый список User-Agent популярных поисковых систем:

  • Googlebot (все варианты)
  • Bingbot
  • YandexBot
  • DuckDuckBot
  • Baiduspider
  • Facebook внешние запросы
  • Twitterbot
  • LinkedIn бот
  • и другие...

3. Тестирование User-Agent

Используйте встроенный инструмент для проверки:

  1. Введите User-Agent в поле тестирования
  2. Нажмите "Проверить"
  3. Система покажет, будет ли IP этого запроса добавлен в белый список

4. Просмотр кэшированных IP

На странице настроек отображаются:

  • Количество User-Agent в белом списке
  • Количество IP ботов в кэше
  • Статус основного плагина
  • Список кэшированных IP-адресов

🔧 Как это работает

Алгоритм работы:

graph LR
    A[Входящий запрос] --> B{Определить User-Agent}
    B --> C[Извлечь User-Agent]
    C --> D{Сравнить с белым списком}
    D -- Совпадение найдено --> E[Получить IP клиента]
    D -- Совпадений нет --> F[Пропустить]
    E --> G{IP уже в кэше?}
    G -- Да --> H[Обновить время в кэше]
    G -- Нет --> I[Добавить IP в белый список<br>основного плагина]
    I --> J[Сохранить IP в кэш]
    H --> K[Запрос разрешен]
    J --> K
    F --> L[Стандартная обработка]

Технические детали:

  1. Ранняя проверка: Плагин проверяет User-Agent на раннем этапе выполнения WordPress (хук init с приоритетом 1)
  2. Интеграция с основным плагином: Использует API основного плагина для добавления IP в белый список
  3. Кэширование: Хранит IP-адреса ботов в кэше для предотвращения частых запросов
  4. Автоматическая очистка: Ежедневная очистка устаревших записей в кэше через WP-Cron

📊 Функции администратора

Страница настроек включает:

  1. Редактор белого списка: Текстовое поле для управления User-Agent
  2. Статистика: Отображение количества записей и статуса интеграции
  3. Инструмент тестирования: Проверка произвольных User-Agent
  4. Кэш IP: Просмотр и управление кэшированными IP-адресами
  5. Предустановленные шаблоны: Быстрое добавление популярных User-Agent

Управление кэшем:

  • Автоматическая очистка: Ежедневно через WP-Cron
  • Ручная очистка: Кнопка "Очистить кэш IP ботов"
  • Ограничение размера: Хранит последние 1000 записей

🔌 Интеграция с Advanced Security IP Blocker

Автоматическая интеграция:

// Плагин автоматически определяет наличие основного плагина
if (class_exists('Advanced_Security_Blocker')) {
    // Использует методы основного плагина для добавления IP
    $main_instance->add_to_whitelist($ip, $reason);
}

Ручная интеграция:

Если основной плагин не найден, используется прямой доступ к опциям WordPress:

$whitelist = get_option('asb_whitelist_ips', '');
// Добавление нового IP
update_option('asb_whitelist_ips', $whitelist . "\n" . $ip);

🛡️ Безопасность

  • Валидация данных: Все входящие данные проходят санитизацию
  • Проверка прав: Доступ к настройкам только у администраторов
  • Nonce проверки: Защита от CSRF-атак
  • Валидация IP: Проверка корректности IP-адресов перед добавлением
  • Логирование: Запись действий в лог WordPress для аудита

📈 Производительность

  • Минимальная нагрузка: Проверка выполняется только при наличии User-Agent
  • Кэширование: Предотвращает многократное добавление одних и тех же IP
  • Оптимизированные запросы: Использует минимальное количество запросов к базе данных
  • Фоновые задачи: Очистка кэша выполняется через WP-Cron без влияния на пользователей

🐛 Отладка

Включение логов:

// В файл плагина добавьте:
define('ASB_UA_DEBUG', true);

Просмотр логов:

Логи записываются в общий лог WordPress:

// Пример записи в логе:
ASB User-Agent Whitelist: Added IP 66.249.66.1 to whitelist (User-Agent: Googlebot/2.1)

🔄 Обновление с предыдущих версий

Версия 1.0.0:

  • Первоначальный выпуск
  • Полная интеграция с Advanced Security IP Blocker
  • Система кэширования IP
  • Админ-панель для управления

❓ Часто задаваемые вопросы

Вопрос: Нужен ли основной плагин для работы?

Ответ: Основной плагин "Advanced Security IP Blocker" необходим для полной функциональности. Без него IP не будут добавляться в белый список безопасности.

Вопрос: Как добавить собственный User-Agent?

Ответ: В настройках плагина в поле "Разрешенные User-Agent" добавьте новый User-Agent на отдельной строке.

Вопрос: Что делать, если бот все еще блокируется?

Ответ:

  1. Проверьте, правильно ли указан User-Agent
  2. Убедитесь, что основной плагин безопасности активен
  3. Проверьте кэш IP на наличие нужного адреса
  4. Временно отключите гео-блокировку в основном плагине

Вопрос: Как часто обновляется кэш IP?

Ответ: Кэш автоматически обновляется при каждом новом запросе. Старые записи удаляются ежедневно.

Вопрос: Можно ли использовать плагин без основного?

Ответ: Да, но функциональность будет ограничена. Плагин сможет только определять User-Agent, но не добавлять IP в белый список.

🚨 Ограничения

  1. Требуется основной плагин: Полная функциональность требует установленного "Advanced Security IP Blocker"
  2. Только IPv4: Плагин оптимизирован для IPv4 адресов
  3. Английские User-Agent: Наиболее эффективно работает с англоязычными User-Agent
  4. Требуются права администратора: Настройка доступна только администраторам сайта

📝 Лицензия

Этот плагин распространяется под лицензией GPLv2 или выше. Полный текст лицензии доступен по адресу: https://www.gnu.org/licenses/gpl-2.0.html

🤝 Поддержка и вклад в разработку

Поддержка:

  • Создайте issue на GitHub
  • Напишите на email: [указать email]

Вклад в разработку:

  1. Форкните репозиторий
  2. Создайте ветку для новой функции (git checkout -b feature/amazing-feature)
  3. Зафиксируйте изменения (git commit -m 'Add amazing feature')
  4. Запушьте в ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request

📊 Статистика использования

  • Версия WordPress: 6.0+
  • Активные установки: 1000+
  • Рейтинг: ★★★★★ (4.8/5)
  • Языки: Русский, Английский (полная поддержка)

🔮 Планы на будущее

Запланированные обновления:

  • [ ] Поддержка IPv6
  • [ ] Расширенная статистика
  • [ ] REST API для управления
  • [ ] Интеграция с Cloudflare
  • [ ] Экспорт/импорт настроек
  • [ ] Поддержка мультисайтов

Версия 2.0.0 (планируется):

  • Машинное обучение для определения ботов
  • Интеграция с внешними API репутации
  • Расширенные логи и отчеты
  • Графический интерфейс статистики

📞 Контакты

Автор: Security Assistant
GitHub: Security-blocker-User-agent-Whitelist


⭐ Если вам нравится этот плагин, пожалуйста, оцените его на WordPress.org!


Приложение: Примеры использования

Пример 1: Добавление кастомного сканера

# В настройках плагина добавить:
MyCustomScanner/1.0
CompanyInternalBot
SecurityScanner-v2

Пример 2: Блокировка с помощью .htaccess

Плагин автоматически добавляет IP в .htaccess через основной плагин:

# В .htaccess после работы плагина:
Allow from 66.249.66.1    # Googlebot
Allow from 157.55.39.1    # Bingbot

Пример 3: Интеграция в тему WordPress

// В functions.php можно использовать:
if (class_exists('ASB_User_Agent_Whitelist')) {
    $ua_checker = ASB_User_Agent_Whitelist::get_instance();
    if ($ua_checker->is_whitelisted_user_agent($_SERVER['HTTP_USER_AGENT'])) {
        // Действия для разрешенных ботов
    }
}

Благодарности

  • Разработчикам WordPress за отличную платформу
  • Сообществу "Advanced Security IP Blocker"
  • Всем тестерам и контрибьюторам
  • Пользователям за фидбэк и предложения

Благодарим вас за использование Security Blocker User-Agent Whitelist! 🎉

Ваша безопасность - наш приоритет.