Как защитить свой сайт от DDoS-атак или ботов
Anti-DDoS-Lite (приложение Anti-Crawler) — это небольшое PHP-приложение для защиты вашего сайта от DDoS-атак или сканирования веб-сайта ботами.
Anti-DDoS-Lite помогает блокировать ботов, снижает нагрузку на сервер и останавливает вредоносных ботов, прежде чем они смогут добраться до исходной веб-страницы. Во время открытия страницы сайта приложение выполняет JS-проверку и если проверка не пройдена, то будет отображаться блокирующая страница.
Большинство ботов не могут выполнять код JavaScript или могут выполнять код частично. Это приложение фильтрует трафик от ботов с помощью простого кода JavaScript. Ботам запрещено читать исходные страницы, они получают только одну стоп-страницу. В результате DDoS-атака снижается за счет устранения трафика ботов, участвующих в DDoS-атаке.
В то же время законные/настоящие посетители получают исходную страницу после небольшой задержки, потому что браузер законных/настоящих посетителей выполняет код JavaScript. Легитимные/настоящие посетители видят стоп-страницу только один раз, при первом посещении сайта.
Как использовать
1. Включите приложение в качестве первой строки в index.php различными способами:
1.1. Скачайте, распакуйте архив в основную папку сайта и включите приложение:
<?php
// This file have to be very first included
require "anti-ddos-lite/anti-ddos-lite.php"; //
// index.php code bellow
// ... ?>
1.2. Или установите приложение с помощью пакета composer:
composer require cleantalk/anti-ddos-lite
<?php
// Init the app before your web app's main logic
\Cleantalk\CleantalkAntiDdosLite\CleantalkAntiDdosLite::init();
2. Создайте новое значение для переменной $anti_ddos_salt. Вы можете найти его в файле anti-ddos-lite.php.
Как протестировать
1. Отключите JavaScript в вашем браузере.
2. Откройте свой сайт, и вы увидите экран блокировки:
Пропуск защиты для посетителей из доверенных сетей, автономных систем (АС)
Настройте GeoIP, откройте файл anti-ddos-lib.php и перечислите исключенные автономные системы в переменной $notRatedAs.
// List of trusted Autonomous systems. $notRatedAs = [13238,15169,8075,10310,36647,13335,2635,32934,38365,55967,
16509,2559,19500,47764,17012,1449,43247,32734,15768,33512,18730,30148];
Пропуск доверенных User-Agent
Найти его можно по этому пути: anti-ddos-lite\src\not_rated_ua.php. Допускаются регулярные выражения, пример ниже.
$not_rated_ua = array(
'CleanTalk Uptime bot.+',
'Googlebot',
'Bingbot',
'Baiduspider',
'YandexBot',
'facebot',
'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)',
'ia_archiver'
);
Затем в основном файле anti-ddos-lite.php найдите переменную test_not_rated_ua и измените false на true.
Как изменить входные данные
Например, если вы хотите изменить задержку перенаправления, сделайте следующее:
1. Откройте основной файл anti-ddos-lite.php.
2. Найдите массив $data и найдите в нем переменную redirect_delay.
3. Измените значение на новое.
После этих изменений пользователи будут автоматически перенаправлены на запрошенную страницу через 10 секунд.
Если вы не нашли ответ на свой вопрос, пожалуйста, свяжитесь с нашей службой поддержки.