⚡ Добро пожаловать на HightLeak 🔥

Лучший форум по сливам приватных майнкрафт ресурсов!

Ниже вы можете скачать самые лучшие ресурсы для создания или улучшения своего сервера Minecraft! Вы можете найти готовые конфигурации, сборки, фиксы, инструкции и множество самописных плагинов с популярных серверов! Развивай свой проект вместе с нами, уже более 3.000 пользователей сделали выбор в нашу сторону!

Зарегистрироваться
Быстрый php-скрипт для защиты от мощных ддос атак | Защити свой сайт от атак

ТУТОРИАЛ ПРОВЕРЕНО Быстрый php-скрипт для защиты от мощных ддос атак | Защити свой сайт от атак FINAL

Вы не можете скачать это (Причины)
Источник
https://www.ddosforum.com/
Поддерживаемые версии
  1. 1.8.9
  2. 1.9.2
  3. 1.10.1
  4. 1.11.2
  5. 1.12.2
  6. 1.13.1
  7. 1.14.4
  8. 1.15.2
  9. 1.16.5
  10. 1.17.1
  11. 1.18.2
  12. 1.19.0
Для подключения Анти-Ддос достаточно вставить код который вы можете скачать/скопировать ниже, в самый верх вашего index.php файла сайта и по желанию можно настроить, хотя это не обязательно и выставлены уже рекомендуемые значения.

Для работы скрипта необходимо создать папку antiddos в корне сайта, а в этой папке еще три папки с правами 777: ban, white и count.

Единственное что желательно настроить это вот этот пункт:
PHP:
$count=1; // Лимит запросов в минуту, при превышении которого IP попадает в черный список. Если установлено false, то нужно будет пройти каптчу для захода на сайт или атакуемую страницу.
В нем желательно установите от 5 до 25, это кол-во обращений к сайту (именно не переходов между страницами, а новых обращений) при привышении которых будет срабатывать анти-ддос.

Сам код скрипта: (жмите скачать, а не копируйте отсюда)
PHP:
<?php

function isBot()
{
  $bots = ['Google','Yandex','mail.ru'];
  foreach($bots as $b) { if( stripos($_SERVER['HTTP_USER_AGENT'], $b) == true ) return $b; }

  return false;
}


$enter=true;
$ip=$_SERVER['REMOTE_ADDR']; // Убедитесь, что переменная $_SERVER['REMOTE_ADDR'] содержит IP пользователя, а не сервера, как иногда бывает при кривых настройках, либо при проксировании домена через сервисы типа Cloudflare

define('DIR', $_SERVER['DOCUMENT_ROOT'].'/antiddos/');
define('BAN', DIR.'ban/'.$ip);
//$ip=rand(1,255).'.'.rand(1,255).'.'.rand(1,255).'.'.rand(1,255); // это для теста


// Настройки
$url=false; // Атакуемая страница. Обычно это главная или страница с авторизацией (POST запросы создают максимальную нагрузку на сервер). Если боты атакуют разные внутряки, оставить false.
$count=1; // Лимит запросов в минуту, при превышении которого IP попадает в черный список. Если установлено false, то нужно будет пройти каптчу для захода на сайт или атакуемую страницу.

// !!! ВАЖНО !!! Для работы скрипта необходимо создать папку antiddos в корне сайта, а в этой папке еще три папки с правами 777: ban, white и count.


function antiddos($ip, $url, $count)
{
    if ($url)
    {
        list(,$url)=explode($_SERVER['HTTP_HOST'], $url);
        if ($_SERVER['REQUEST_URI']!=$url) return true; // Если не целевая страница, то пропускаем. Например, ддосят только главную, а пользователь зашел с поисковой системы на внутреннюю
    }

    // Отсеиваем глупых ботов с пустым юзер-агентом. Если в логах таких нет, можно закомментить.
    if (strlen($_SERVER['HTTP_USER_AGENT'])<3)
    {
        file_put_contents(BAN, '');
        return false;
    }

    // Если пользователь зашел с поисковиков, добавляем в белый список.
    if (strpos($_SERVER['HTTP_REFERER'],'yandex.')!==false || strpos($_SERVER['HTTP_REFERER'],'google.')!==false) return true;

    if (isBot()) // Если ддос-боты подменяют User Agent, то отключить проверку
    {
        file_put_contents(DIR.'white/'.$ip, $_SERVER['HTTP_USER_AGENT']); // Добавляем IP поисковых ботов в белый список
        return true;
    }

    if (!$count) // Если лимит запросов не задан, добавляем все IP в бан. Для удаления из бана пользователь должен будет пройти каптчу
    {
        file_put_contents(BAN, '');

        return false;
    }
    else
    {
        if ($url)
        {
            $cf=date("m-d-h-i.").$ip;  // Метод не точен, так как минута будет не полная. Но даже если бот не израсходует свой лимит на остатке минуте, то срежется на следующей минуте. Делать более сложную проверку - лишняя нагрузка

        }
        else $cf=md5($_SERVER['REQUEST_URI'].$_SERVER['HTTP_USER_AGENT'].date("mdhi")).$ip; // Если ддосят разные страницы, то делаем счетчик для каждой страницы. Более ресурсоемкий вариант.

        $cf=DIR.'count/'.$cf;

        if (!is_file($cf)) file_put_contents($cf, "1"); // папку antiddos/count рекомендуется переодически очищать через админку
        else
        {
            $c=file_get_contents($cf);
            if ($c>$count) // лимит превышен
            {
                file_put_contents(BAN, $_SERVER['HTTP_USER_AGENT'].PHP_EOL.$_SERVER['REQUEST_URI']); // отправляем в бан

                return false;
            }
            else
            {
                file_put_contents($cf, $c+1);
            }
        }

        return true;
    }
}

//
if (isset($_GET['nebot']) )  // Пользователь проходит каптчу
{
    $time=time();

    if ($_GET['nebot']>$time-60 && $_GET['nebot']<$time) // Простая timestamp-каптча. Большинство ддосеров не смогут (не будут пытаться) ее обойти, не смотря на кажущуюся простоту.
    {
        file_put_contents(DIR.'white/'.$ip, ""); // Добавляе IP в белый список.

        if (is_file(BAN)) unlink(BAN); // Удаляем IP из черного списка, если он там есть

        // Сбрасываем счетчик обращений
        $items = glob(DIR.'count/*'.$ip);
        foreach ($items as $fip) unlink($fip);

    /*    sleep(1);

        header("Location: http://".$_SERVER['HTTP_HOST']);  // Редиректим на главную  */
        exit;
    }

}
elseif (is_file(BAN))
{
    exit; // Если ip в черном списке, прерываем исполнение. Вместо exit можно вывести заглушку (как ниже), если вы опасаетесь что пользователь может попасть в черный список случайно, но тогда увеличится нагрузка на сервер.
}
else
if ( !is_file(DIR.'white/'.$ip) && !antiddos($ip, $url, $count)) // Если нет в белом списке и не прошел проверку, показываем заглушку только первый раз. В дальнейшем IP будет отсеиваться на предыдущем шаге.
{
    Нужно скачать скрипт, а не копировать его с https://hightleak.xyz/resources/bystryj-php-skript-dlja-zaschity-ot-moschnyx-ddos-atak-zaschiti-svoj-sajt-ot-atak.1861/
    Часть кода намеренно скрыта, для корректной работы нужно скачать!
    exit;
}
Автор
nokuno
Скачивания
20
Просмотры
346
Первый выпуск
Обновление
Оценка
0,00 звёзд 0 оценок

Другие ресурсы пользователя nokuno