Инструменты пользователя

Инструменты сайта


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

blacklist.txt
192.168.1.1
10.0.0.5
172.16.0.100

Проверяем браузер

переход страниц

Дополнения и Файлы

software/development/demo/cms/ucms/appendix/appendix_blacklist.1770921412.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki