[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не принимать более 2 запросов от клиента
dvig
Привет, необходимо написать функцию в iptables которая не будет принемать от одного ip более двух запросов.
То есть человек кликает допустим 3 раза на скрипт и если не один из них не выполнился, то не ставим в очередь третий (уничтожать третий запрос не ставя его в очередь).
Подскажите где копать что читать
Hello
Зачем тут iptables? Делайте проверку в скрипте.

$count = $m->get(); //читаем из внешнего хранилища кол-во запущенных скриптов
if ($count >= 2) die();
$m->set($count+1); // пишем во внешнее хранилище еще одну задачу

sleep(10);

$m->set($m->get()-1); // удаляем из внешнего хранилиза одну запущенную задачу


_____________
VPS от 5$, первые 2 месяца - бесплатно.
dvig
Цитата (Hello @ 7.02.2013 - 14:02)
Зачем тут iptables? Делайте проверку в скрипте.

$count = $m->get(); //читаем из внешнего хранилища кол-во запущенных скриптов
if ($count >= 2) die();
$m->set($count+1); // пишем во внешнее хранилище еще одну задачу

sleep(10);

$m->set($m->get()-1); // удаляем из внешнего хранилиза одну запущенную задачу

Hello отличная вещь) темболее скрипты) Good Bye v5.2 скачайте и пропишите в ней любой начинающий сайт, вырубит моментально - а если крохотный ботнет запустит эту прогу на какую-та компанию и ее вырубят, скорость у этой проги не хилая проверьте сами

Нам нужны оптимальные решения:
Объясню - если человек отправляет запросы на сервер и в этот момент уже выполняются его 2 запроса другие мы в очередь не ставим...
nginx не справляется с этой задачей, он тупо принемает кучу запросов, выдает конечно ошибку 503, но запросы создаются и создаются хотя в конфиге прописано максимум 20 запросов ставить в очередь
dvig
Уважаемые модераторы удалите пожалуйста название программы не много позже, после того как человек прочитает. Чтобы всякая школота не пользовалась движком
Hello
dvig, iptable с сотней тысяч правил будет еще хуже

_____________
VPS от 5$, первые 2 месяца - бесплатно.
dvig
Цитата (Hello @ 7.02.2013 - 14:45)
dvig, iptable с сотней тысяч правил будет еще хуже

Разве нет какого-та единственного правила в 3 строки? не когда не поверю в это. Полюбому должно быть какое то правило которое проверяет процессы на сервере и отправляет в лес другие если уже существуют от данного пользователя 2 процесса.
Понимаете ваш скрипт не имеет защиты, то есть до него не будут доходить запросы, а если бы и доходили то это еще больший перегруз системы, nginx не справляется, а тут какой то скрипт, мы таких скриптов могли бы н аписать сотнями проблемы в этом нет
killer8080
Цитата (Hello @ 7.02.2013 - 12:45)
iptable с сотней тысяч правил будет еще хуже

защита от ddos-а на уровне php вообще бессмысленна.

Цитата (dvig @ 7.02.2013 - 11:50)
То есть человек кликает допустим 3 раза на скрипт

ставить ограничения в три запроса с одного ip нельзя, хотя бы потому, что при нормальном открытии страницы браузер обычно устанавливает больше соединений с сервером. Одной строчкой в iptables не отделаетесь, нужен скрипт (или программа), который будет отслеживать сетевую активность, и динамически создавать и удалять правила в iptables. Гуглите antiddos, в нете полно разных решений.
killer8080
вот например
http://habrahabr.ru/post/39509/
dvig
Цитата (killer8080 @ 7.02.2013 - 15:00)
Цитата (Hello @ 7.02.2013 - 12:45)
iptable с сотней тысяч правил будет еще хуже

защита от ddos-а на уровне php вообще бессмысленна.

Цитата (dvig @ 7.02.2013 - 11:50)
То есть человек кликает допустим 3 раза на скрипт

ставить ограничения в три запроса с одного ip нельзя, хотя бы потому, что при нормальном открытии страницы браузер обычно устанавливает больше соединений с сервером. Одной строчкой в iptables не отделаетесь, нужен скрипт (или программа), который будет отслеживать сетевую активность, и динамически создавать и удалять правила в iptables. Гуглите antiddos, в нете полно разных решений.

Да мы сколько раз не гуглиле все сайты выводили на nginx отличный вариант, установили составили конфиг, и вот тебе - легко можно приостановить систему с nginxom...
Хотелось узнать мнение у людей которые уже имеют хорошую защиту, а если быть точнее то лучше прописаные правила в iptables... чтоб не устанавливать какие либо другие программные обеспечения на linux.
То есть чтоб приостанавливала запросы полностью типа как в правилах htaccess - то есть проверили процессы от пользователя, если процессов более двух (пошел вон) если же есть свободные принемаем. то же самое как через htaccess можно закрыть доступ с определенного ip или целой сети - то же самое но проверяя процессы
killer8080
dvig
думаю это будет полезно
http://farmal.in/2011/07/borba-s-ddos-atak...ables-i-sysctl/
sergeiss
Если я правильно понял задачу, то здесь помогут куки.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
dvig
killer8080 как можно с вами связаться? вопрос маленький за $, сообщение вам не могу отправить, напишите аську или скайп мне через сообщения
Hello
Цитата (dvig @ 7.02.2013 - 13:59)
Разве нет какого-та единственного правила в 3 строки

iptables работает с сетевыми подключениями. Он не знает сколько и каких скриптов у вас исполняется. Максимум что можно - ограничить кол-во подключений в промежуток времени.

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.