software:development:demo:cms:ucms:appendix:appendix_blacklist
Это старая версия документа!
Содержание
User-Agent (Проверка Ботов)
Блокировка ботов в PHP осуществляется путем проверки строки User-Agent в запросе $ _SERVER['HTTP_USER_AGENT'] и прерывания выполнения скрипта, если обнаружен вредоносный робот. Для защиты рекомендуется использовать массив известных ботов, проверять их в начале файла (например, через хук) и использовать die() или exit() для закрытия доступа. Основной метод (PHP) Добавьте этот код в начале ваших PHP-скриптов:
block_bot.php
- block_bot.php
<?php function blockBots() { $botListFile = $_SERVER['DOCUMENT_ROOT'] . '/botlist.txt'; // Проверка существования файла if (!file_exists($botListFile)) { return; } // Чтение списка ботов $badBots = file($botListFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? ''; foreach ($badBots as $bot) { // Игнорируем комментарии в файле, если они есть (начинаются с #) if (strpos(trim($bot), '#') === 0) continue; if (stripos($userAgent, trim($bot)) !== false) { // Блокировка: отправляем 403 и завершаем работу header('HTTP/1.0 403 Forbidden'); exit('Access Denied'); } } } blockBots(); ?>
botlist.txt
- botlist.txt
BadBot Scanner SiteCrawler
Блокировка по IP
block.php
- block.php
<?php // Путь к файлу черного списка $blacklistFile = 'blacklist.txt'; // Получаем IP посетителя $visitorIp = $_SERVER['REMOTE_ADDR']; // Читаем файл в массив, удаляя переносы строк if (file_exists($blacklistFile)) { $blacklist = file($blacklistFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // Проверяем, есть ли IP в списке if (in_array($visitorIp, $blacklist)) { header('HTTP/1.0 403 Forbidden'); die('Доступ запрещен.'); } } // ... остальной код сайта echo "Добро пожаловать!"; ?>
blacklist.txt
Дополнения и Файлы
software/development/demo/cms/ucms/appendix/appendix_blacklist.1770921412.txt.gz · Последнее изменение: — VladPolskiy

