Перейти к содержанию
Авторизация  
Twinker

Php Dos Security Shield (By Twinker)

Рекомендуемые сообщения

Смотря на тему http://forummaxi.ru/...showtopic=37397 и видя, какой там код, решил написать с нуля за 2 минуты свой подобный скрипт :)

 

Инструкция:

1. Создать папку (назвать по своему усмотрению)
2. Прописать адрес к папке в виде "folder/" в переменную $CONFIG['log_dir'] (со знаком / на конце)
3. Настроить скрипт под себя
4. Использовать

 

Работает везде. В index.php сразу после "<?php" или "<?" (если нету <?php) пишем "include('dss.php');" и радуемся.

В StressWeb (закодированном) нужно переименовать index.php в stress.php, создать index.php с таким содержанием:

<?php
include('dss.php');
include('stress.php');
?>

 

Скачать:

http://rghost.ru/47859304

Пароль на скачку:

 

 

P/s - скрипт я не называю идеальным. От DDOS не защитит. От DoS по HTTP, думаю прокатит. Всем спасибо ;)

Его можно дополнить, сделать проверку на cookies, сессии и т.п.

Почему я этого не сделаю? Обработка запросов и защита от (D)DoS на стороне frontend'а - полнейший бред.

Изменено пользователем Twinker
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ошибки исправить :)

 

$fopen = @fopen($file['uri'], "w+");
$close = @fclose($fopen);

 

на

 

$fopen = @fopen($file['uri'], "w+");
// Трам-па-пам сохранить логи 
//$close =@fclose($fopen); // Переменую создавать не надо просто закрыть так:
fclose($fopen); 

 

PPS: В предидущем скрипте лучше было в плане максимум 4096 файлов (а то наплодится куча файлов) :

 

$ipfile=substr(md5($_SERVER["REMOTE_ADDR"]),-3); // -3 means 4096 possible files

Изменено пользователем morthey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ошибки исправить :)

 

$fopen = @fopen($file['uri'], "w+");
$close = @fclose($fopen);

 

на

 

$fopen = @fopen($file['uri'], "w+");
// Трам-па-пам сохранить логи 
//$close =@fclose($fopen); // Переменую создавать не надо просто закрыть так:
fclose($fopen); 

 

PPS: В предидущем скрипте лучше было в плане максимум 4096 файлов (а то наплодится куча файлов) :

 

$ipfile=substr(md5($_SERVER["REMOTE_ADDR"]),-3); // -3 means 4096 possible files

1 => 0.01 секунда - совсем ничем не помешает. Да и задумывалась проверка, но мне вдруг стало лень

2 => Ну да, проверьте. Создается 1 файл. С чего Вы взяли, что будет много файлов? Строение md5 одинаково везде.

 

P/s предыдущем, ато

Изменено пользователем Twinker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 => 0.01 секунда - совсем ничем не помешает. Да и задумывалась проверка, но мне вдруг стало лень

2 => Ну да, проверьте. Создается 1 файл. С чего Вы взяли, что будет много файлов? Строение md5 одинаково везде.

1 - ну если учитывать, что это ддос то 0.01 секунда очень важна (хотя не понял, где ты 0.01 секунды взял), так как 0.01 на 1000 конектов => 10 сек (и пошла буферизация)

2 - с того что там идет обрезание строки до 3-х символов и максимальных комбинаций возможно 4096 (16-ричная система аля 16х16х16 = 4096).. а так каждый IP - 1 файл

 

PS: Сессии или файл одно и тоже, сессии хранятся на жестком диске как файлы, по тому время доступа будет одинаковые :)

PPS: А кукисы делаем массив и рендомно подставляем куки, по желанию на крон замену массива с куками, нет куки в файле бот шалит - а прикол в том, что боту потребуется времени в 1.5 раза больше сохранить куки и т.д. и в этоге он теряет скорость при атаке

PPPS: Продублирую в эту тему используя memcached можно уменьшить ресурсы на чтение с жесткого диска :) даную технологию использует vk.com храня там промежуточные данных при миллионах просмотров )

Изменено пользователем morthey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 - ну если учитывать, что это ддос то 0.01 секунда очень важна (хотя не понял, где ты 0.01 секунды взял), так как 0.01 на 1000 конектов => 10 сек (и пошла буферизация)

2 - с того что там идет обрезание строки до 3-х символов и максимальных комбинаций возможно 4096 (16-ричная система аля 16х16х16 = 4096).. а так каждый IP - 1 файл

 

PS: Сессии или файл одно и тоже, сессии хранятся на жестком диске как файлы, по тому время доступа будет одинаковые :)

PPS: А кукисы делаем массив и рендомно подставляем куки, по желанию на крон замену массива с куками, нет куки в файле бот шалит :)

PPPS: Продублирую в эту тему используя memcached можно уменьшить ресурсы на чтение с жесткого диска :) даную технологию использует даже vk.com )

1 -> ~0.01 секунду занимает занос return'а функции в переменную. Даже 0.001 вроде. Не помню точно.

2 -> Ну, а я о чем говорю? 1 ip = 1 файл. Размножения не будет. md5 хэш постоянен.

memcached -> Мне не нужно объяснять. Более двух лет занимаюсь администрированием. Суть далеко не в этом. Суть в том, что не везде стоит memcached. Далеко не везде.

Да и про cookies и сессии мне не нужно объяснять. Я не новичок вроде как.

Изменено пользователем Twinker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 -> ~0.01 секунду занимает занос return'а функции в переменную. Даже 0.001 вроде. Не помню точно.

2 -> Ну, а я о чем говорю? 1 ip = 1 файл. Размножения не будет. md5 хэш постоянен.

memcached -> Мне не нужно объяснять. Более двух лет занимаюсь администрированием. Суть далеко не в этом. Суть в том, что не везде стоит memcached. Далеко не везде.

 

1 - оно занимает меньше времени так как там просто переход по коду, больше времени займет md5 )

2 - размножение будет, если будет IP менятся атакующих + клиенты заходить в итоге куча разных ип -> куча файлов (если за скриптом не следить за неделю наплодят куча файлов - так как надо ставить и на форум, и на сайт, и на лк и т.д.)

До мемкешеда лучше использовать куки, выше написано :) Ну мемкешед уже более популярен (вот как раз набрал обороты за 1,5 года) и уже чаще встречается на различных хостингах + если свой сервер, то установить минута времени.

 

Да и про cookies и сессии мне не нужно объяснять. Я не новичок вроде как.

Про сессии бред, не новичок так зачем такое писать, а разъесняю для всех :)

Изменено пользователем morthey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 - оно занимает меньше времени так как там просто переход по коду, больше времени займет md5 )

2 - размножение будет, если будет IP менятся атакующих + клиенты заходить в итоге куча разных ип -> куча файлов (если за скриптом не следить за неделю наплодят куча файлов - так как надо ставить и на форум, и на сайт, и на лк и т.д.)

До мемкешеда лучше использовать куки, выше написано :) Ну мемкешед уже более популярен (вот как раз набрал обороты за 1,5 года) и уже чаще встречается на различных хостингах + если свой сервер, то установить минута времени.

 

 

Про сессии бред, не новичок так зачем такое писать, а разъесняю для всех :)

1. Ну и к чему тогда было придираться, если сейчас со мной согласны?

2. А там то есть не будет кучи файлов при куче заходов? xD. Подумайте по хорошему.

memcached - при чем тут вообще модуль для PHP? Мы сейчас о обработке запросов на фронтэнде, а не на бэкэнде.

Что "бред"? То есть время проверкаи сессии равно времени проверки файла, а session_start() занимает столько же времени, сколько и fopen() + fclose() :) Задумайтесь, уважаемый

 

P/s разъЯсняю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Ну и к чему тогда было придираться, если сейчас со мной согласны?

Я не придираюсь, говорю как есть, это Вы откудато взяли 0.01 сек )

 

2. А там то есть не будет кучи файлов при куче заходов? xD. Подумайте по хорошему.

это ДДос, а не Дос, при Досе идут с 1-го IP (обычно - на скрипт, что бы положить сервер), при ДДосе с множества IP (разницу нужно понимать)

 

memcached - при чем тут вообще модуль для PHP? Мы сейчас о обработке запросов на фронтэнде, а не на бэкэнде.

Что "бред"? То есть время проверкаи сессии равно времени проверки файла, а session_start() занимает столько же времени, сколько и fopen() + fclose() :) Задумайтесь, уважаемый

 

Ужс) это не модуль php для начала (для хостера надо такое знать) - http://ru.wikipedia.org/wiki/Memcached

А так же, его можно поставить на фронтенде в связке с Nginx, и выиграть больше производительности (не обращаясь на жесткий диск)

 

А я где-то говорил, что нужно использовать сессии, это Вы про сессии начали :) А я ток подчеркнул, это бред :)

 

А ну да, не надо дублировать, то что я написал выше..

PS: Сессии или файл одно и тоже, сессии хранятся на жестком диске как файлы, по тому время доступа будет одинаковые

Изменено пользователем morthey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не придираюсь, говорю как есть, это Вы откудато взяли 0.01 сек )

 

 

это ДДос, а не Дос, при Досе идут с 1-го IP (обычно - на скрипт, что бы положить сервер), при ДДосе с множества IP (разницу нужно понимать)

 

 

 

Ужс) это не модуль php для начала (для хостера надо такое знать) - http://ru.wikipedia.org/wiki/Memcached

А так же, его можно поставить на фронтенде в связке с Nginx, и выиграть больше производительности (не обращаясь на жесткий диск)

 

А я где-то говорил, что нужно использовать сессии, это Вы про сессии начали :) А я ток подчеркнул, это бред :)

 

А ну да, не надо дублировать, то что я написал выше..

1. Загуглите, уважаемый. Вижу, Вы любите пофлудить

2. Вы думайте я новичок в этой сфере? Я могу излить на Ваш сервис с Вашего разрешения 10+Gbit трафика. Просто скажите IP адрес и порт, и доказательства, что именно Вы - владелец ресурса и Вы разрешаете мне провести стресс-тестирование

3. Не модуль PHP? Вы видимо вообще не разбираетесь в этом, так может не стоит ничего и писать? php5-memcached - именно модуль PHP.

4. Это был вопрос, а не утверждение. Между строк не читайте. "То есть Вы считаете" видимо не прочитали

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу еще какой новичок, для вас и mysql тоже расширение под php (не стоить путать независимые приложения) и модули для подключения.

 

PS: Участвовать с вами в дискуссиях больше не намерен, не могу читать ваш бред.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что за файлы с символьными названиями создаются в папке?

А так за скриптик спасибко)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу еще какой новичок, для вас и mysql тоже расширение под php (не стоить путать независимые приложения) и модули для подключения.

 

PS: Участвовать с вами в дискуссиях больше не намерен, не могу читать ваш бред.

Бред несете лишь Вы, уважаемый. А если ответить нечем - лучше молчите. Не стоит показывать, какой у Вас характер и выёжыватся.

 

MySQL и MySQLi, как Вы правильно подметили, расширения (модули) для PHP. Имею ввиду php5-mysql.

Сам MySQL - не модуль PHP. А вот чтобы он поддерживался PHPшечкой, нужно ставить модуль.

Так же и с memcached.

 

Если Вы ниразу не работали с подобного рода приложениями, стоит молчать.

Если хотите все обсудить, пишите/звоните в скайп dedichost

 

а что за файлы с символьными названиями создаются в папке?

А так за скриптик спасибко)

md5 хэши IP адресов посетителей

Изменено пользователем Twinker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотря на тему http://forummaxi.ru/...showtopic=37397 и видя, какой там код, решил написать с нуля за 2 минуты свой подобный скрипт :)

 

Инструкция:

1. Создать папку (назвать по своему усмотрению)
2. Прописать адрес к папке в виде "folder/" в переменную $CONFIG['log_dir'] (со знаком / на конце)
3. Настроить скрипт под себя
4. Использовать

 

Работает везде. В index.php сразу после "<?php" или "<?" (если нету <?php) пишем "include('dss.php');" и радуемся.

В StressWeb (закодированном) нужно переименовать index.php в stress.php, создать index.php с таким содержанием:

<?php
include('dss.php');
include('stress.php');
?>

 

Скачать:

http://rghost.ru/47859304

Пароль на скачку:

 

 

P/s - скрипт я не называю идеальным. От DDOS не защитит. От DoS по HTTP, думаю прокатит. Всем спасибо ;)

Его можно дополнить, сделать проверку на cookies, сессии и т.п.

Почему я этого не сделаю? Обработка запросов и защита от (D)DoS на стороне frontend'а - полнейший бред.

 

перезалей ссылку

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...