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
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
- Скачайте архив плагина
- Перейдите в админку WordPress:
Плагины → Добавить новый - Нажмите
Загрузить плагин - Выберите архив и установите
- Активируйте плагин
Способ 2: Ручная установка
- Разархивируйте плагин
- Загрузите папку
asb-user-agent-whitelistв директорию/wp-content/plugins/ - Активируйте плагин через меню
Плагиныв админке WordPress
⚙️ Требования
- WordPress 6.0 или выше
- PHP 7.4 или выше
- Плагин Advanced Security IP Blocker (рекомендуется)
- Права администратора WordPress
🎮 Использование
1. Настройка белого списка User-Agent
- Перейдите в
Настройки → UA Whitelist - В поле "Разрешенные User-Agent" добавьте User-Agent, которые нужно разрешить
- Нажмите "Сохранить настройки"
Формат:
Googlebot
Bingbot
YandexBot
facebookexternalhit
Twitterbot
2. Предустановленные User-Agent
Плагин включает готовый список User-Agent популярных поисковых систем:
- Googlebot (все варианты)
- Bingbot
- YandexBot
- DuckDuckBot
- Baiduspider
- Facebook внешние запросы
- Twitterbot
- LinkedIn бот
- и другие...
3. Тестирование User-Agent
Используйте встроенный инструмент для проверки:
- Введите User-Agent в поле тестирования
- Нажмите "Проверить"
- Система покажет, будет ли 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[Стандартная обработка]
Технические детали:
- Ранняя проверка: Плагин проверяет User-Agent на раннем этапе выполнения WordPress (хук
initс приоритетом 1) - Интеграция с основным плагином: Использует API основного плагина для добавления IP в белый список
- Кэширование: Хранит IP-адреса ботов в кэше для предотвращения частых запросов
- Автоматическая очистка: Ежедневная очистка устаревших записей в кэше через WP-Cron
📊 Функции администратора
Страница настроек включает:
- Редактор белого списка: Текстовое поле для управления User-Agent
- Статистика: Отображение количества записей и статуса интеграции
- Инструмент тестирования: Проверка произвольных User-Agent
- Кэш IP: Просмотр и управление кэшированными IP-адресами
- Предустановленные шаблоны: Быстрое добавление популярных 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 на отдельной строке.
Вопрос: Что делать, если бот все еще блокируется?
Ответ:
- Проверьте, правильно ли указан User-Agent
- Убедитесь, что основной плагин безопасности активен
- Проверьте кэш IP на наличие нужного адреса
- Временно отключите гео-блокировку в основном плагине
Вопрос: Как часто обновляется кэш IP?
Ответ: Кэш автоматически обновляется при каждом новом запросе. Старые записи удаляются ежедневно.
Вопрос: Можно ли использовать плагин без основного?
Ответ: Да, но функциональность будет ограничена. Плагин сможет только определять User-Agent, но не добавлять IP в белый список.
🚨 Ограничения
- Требуется основной плагин: Полная функциональность требует установленного "Advanced Security IP Blocker"
- Только IPv4: Плагин оптимизирован для IPv4 адресов
- Английские User-Agent: Наиболее эффективно работает с англоязычными User-Agent
- Требуются права администратора: Настройка доступна только администраторам сайта
📝 Лицензия
Этот плагин распространяется под лицензией GPLv2 или выше. Полный текст лицензии доступен по адресу: https://www.gnu.org/licenses/gpl-2.0.html
🤝 Поддержка и вклад в разработку
Поддержка:
- Создайте issue на GitHub
- Напишите на email: [указать email]
Вклад в разработку:
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Запушьте в ветку (
git push origin feature/amazing-feature) - Откройте 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! 🎉
Ваша безопасность - наш приоритет.