29 мар 2012
Анти ддос на php
Fizer Категория: Web-Мастеру » Скрипты
У нас вы можете скачать бесплатно Анти ддос на php

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Анти ддос на php

Модуль Anti ddos защиты от флуда PHP-сайтов методом частых вызовов PHP-файлов, для создания большой нагрузки. Защищает так же от
автоматического выкачивания сайта с одного IP.

Скрипт блокирует айпи адреса атакующего на некоторое время после чего блокировка снимается и если блокируемый ип не прекращает атаку, скрипт вновь блокирует его и задает время блокировки чуть больше чем в предыдущий раз.
Установка на DLE:создаём папку в корне сайта anti_ddos заливаем все содержимое архива
Создаём папку tmp в корне сайта, ставим права на запись 777
Идём в index.php после
[quote]11". Если хочется второе
правило, допустим "не более 200 загрузок за час", то
дополнительно в тот же массив надо дописать "$nf_flood[3600]=>200"
(3600 - это 1 час). Правил может быть любое кол-во (но чем меньше,
тем быстрее работает).

Если по какому либо правилу возникает флуд, т.е. кол-во загрузок
за последние Х секунд превысило N заданных раз, то происходит
следующее:
1. доступ для этого IP-адреса закрывается
2. остальные правила как считали, так и продолжают считать/следить
за допустимой нагрузкой
3. сработавшее на флуд правило запоминает текущее время каждого
обращения, из-за чего при регулярных продолжениях вызовов сайта
этот счетчик не будет никогда сброшен
Сработавшее флуд-правило очистит счетчик запросов, т.е. снимет игнор,
только если в течении Х секунд к сайту не будет ни одного запроса.
Если сработало правило флуда на 5 минут, то пользователь-флудер
должен покинуть ваш сайт минимум на 5 минут. Если этот пользователь
обратится через 4 минуты на сайт, то время окончания игнора повторно
увеличится на 5 минут. Таким образом, это очень продвинута защита от
скачиваний - стоит программе превысить любое из правил флуда,
то повторные попытка что-то скачать только оттянут время снятия
игнора. Дополнительно это приведет к срабатыванию более строгих
правил, например на 60 минут (и придется уже минимум 60 минут
не обращаться к сайту, чтобы игнор был сброшен).

Раз в $nf_cron_run секунд запускается функция поиска старых файлов,
которые устарели не менее, чем на $nf_old_file секунд. По-умолчанию,
поиск производится раз в 20 минут, при котором стираются все файлы,
которые устарели минимум на 2 часа. Внимание! Программа стирает ВСЕ
файлы в своем каталоге ($nf_path), которые не начинаются с ".".
Поэтому, чтобы закрыть каталог от доступа через браузер, положите
туда файл ".htaccess" из 2х строк:
Order Allow,Deny
Deny from all

Кроме проверки на флуд программа не позволит вызвать ни одного
вашего PHP-скрипта параллельно. Т.е. если идет параллельный вызов,
а старый вызов (и процесс с PHP-скриптом) еще не закончился,
то более новый запрос будет отвергнут. Это достигается простым
открытием файла. Файл после открытия не закрывается, из-за чего
остается блокированным на весь период работы вашего скрипта.
Сообщения/ошибки:
- в случае параллельного вызова программа пишет
"Parallel processing disable." и завершает работу
- при достижении флуда программа пишет "Flood detect!" и завершается
- если невозможно открыть файл на запись/чтение, то программа пишет
короткое имя файла (без каталога) и причину, работа не прерывается,
т.е. ваш скрипт получит управление (такие ошибки возможны только
при первоначальной настройке программы)

Когда вы меняете набор флуд правил в $nf_flood, то сразу после этого
стирайте все файла в каталоге $nf_path!
ВНИМАНИЕ!настраивайте скрипт со всеми учёта-ми посещаемости вашего сайта, иначе можно побанить настоящих пользователей сайта.
Примерно вот так я настраивал для себя, при этом за комментировал параметры которые мне не нужны::
[quote]//
// сек => кол-во
//
// не более скольки загрузок за сколько секунд можно сделать,
// чтобы не получить игнор
//
$nf_flood=array(
1 => 120, // не более 120 загрузок за 1 секунду
//60 => 180, // не более 30 загрузок за минуту
//300 => 5000, // не более 50 загрузок за 5 минут
//3600 => 200000, // не более 200 загрузок за час
);

$nf_cron_run=1200; // раз в сколько секунд проверять старые файлы

$nf_old_file=7200; // через сколько секунд считать файл старым (и удалять)[/quote]


Внимание! У вас нет прав для просмотра скрытого текста.









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
RaSta | 29 марта 2012 19:13
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

Полезная вещь, и инструкция подробная.

Rewq | 30 марта 2012 12:47
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

не работают такие антиддосы, сам ставил =\

4ipa | 30 марта 2012 19:40
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

ололо школололо

serega11cc33 | 31 марта 2012 11:10
  • Группа: Посетители |
  • Комментарий: 4 (ссылка)

работает или нет???

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.