Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Скрипт против атак на сайты
цитата
29/06/07 в 19:11
 Proo
Тут топик пару дней назад открыл:

Меня атакуют или спайдеры чудят?

так проблему и не решил. IP слишком много, запросы идут как видно из лога по несколько в секунду.

Хостер сказал что может скрипт поможет, который будет определять кол-во запросов за опр промежуток времени с одного IP, и если найдет такие - блокировать.

Может есть у кого подобный скрипт, купил бы. Или написать может кто сможет, только не особо сложный потому как много заплатить не могу.
цитата
29/06/07 в 22:57
 Teacher-X


Привет, мне эта тема интересна, поэтому помогу тебе абсолютно бесплатно, свяжись со мной через ЛС, определимся.
цитата
30/06/07 в 10:12
 Proo
Teacher-X писал:
Привет, мне эта тема интересна, поэтому помогу тебе абсолютно бесплатно, свяжись со мной через ЛС, определимся.


Извини, ЛС это что? ) .. В профайле имейл вроде только..
цитата
30/06/07 в 13:44
 Stek
да это нормально, предложить отписать в личку а самому даже не посмотреть, есть ли она на форуме icon_smile.gif

Вот включили бы ее тут ...
цитата
30/06/07 в 14:02
 benzole
кста, реально иногда лички не хватает.
цитата
02/07/07 в 15:28
 don Rumata
Нам помог с нашей проблемой справиться 3FN, за что им огромный респект и уважуха.
цитата
02/07/07 в 19:46
 DCGT
недавно 21sextury Cash Flash The Money порядочно ддосили пару дней и они перешли на систему Prolexic теперь у них с этим проблем нет. Правда не знаю сможишь ли ты по финансах подключить такую систему, но всё же посмотри может подойдёт.
цитата
03/07/07 в 00:31
 Teacher-X
Proo писал:
Извини, ЛС это что? ) .. В профайле имейл вроде только..

Пардон, действительно нету лички, а я как-то и внимания не обращал, вообщем в асю тогда стукнись (374-868-516) если ещё нужно.
цитата
03/07/07 в 23:22
 Smarty
Proo писал:
Хостер сказал что может скрипт поможет, который будет определять кол-во запросов за опр промежуток времени с одного IP, и если найдет такие - блокировать.

бюджетное решение хостер конечно предложил, но именно как бюджетное потянет.
Код:

<?
$cycles2kill = 100;

if (!file_exists('log.log')){
   $outfile = fopen('log.log','w');
   fclose($outfile);
}

$datas = file('log.log');
$ip = $_SERVER ['REMOTE_ADDR'];
$number_of_instances = 0;
foreach ($datas as $data){
   $data = trim($data);
   if ($data == $ip)
      $number_of_instances++;      
}

if ($number_of_instances<$cycles2kill){
   $outfile = fopen('log.log','a');
   fwrite($outfile,$ip."\n");
   fclose($outfile);
   exit;
}else
   header("Location: http://google.com");
?>

Что делает скрипт:
в файл log.log пишет обращения с разных ип. смотрит текущий ип и сколько раз он уже грузил данную страницу. максимальное число обращений установлено в $cycles2kill (можно выставить 100 для начала потом уменьшать по мере необходимости)
Если обращений больше чем $cycles2kill - редирект на гугл.
чтобы обнулить статистику надо стереть файл log.log. в принципе можно стирать каждые сутки. нужны будут доработки - стучи.
ЗЫ а вообще идея на текстовых файлах не очень хорошая. мускуль надо на худой конец ну или профессиональные решения
цитата
03/07/07 в 23:29
 Dolphix
Лички действительно очень не хватает )

Smarty:
текстовые файлы ничем не хуже мускуля который бывает падает )
цитата
03/07/07 в 23:40
 Smarty
Dolphix писал:
Smarty:
текстовые файлы ничем не хуже мускуля который бывает падает )

ну если у человека сайт на мускуле то упадет и то и то. так что лучше мускуль )
цитата
04/07/07 в 00:12
 Stek
Цитата:
текстовые файлы ничем не хуже мускуля который бывает падает

есть такая поговорка "плохому танцору и яйца мешают"
цитата
06/07/07 в 10:41
 _s_[sov]
Я писал как то похожий скрипт. Принцип был пачти такой же, конешно на 100% от доса так не избавится но нагрузку снизить можно.
цитата
06/07/07 в 11:10
 sonata
Smarty писал:
бюджетное решение хостер конечно предложил, но именно как бюджетное потянет.
Код:

$datas = file('log.log');
$ip = $_SERVER ['REMOTE_ADDR'];



На загруженном сервере на каждый запрос читать целиком в память постоянно обновляемый лог ип - гениальное решение.

_s_[sov] писал:
Я писал как то похожий скрипт. Принцип был пачти такой же, конешно на 100% от доса так не избавится но нагрузку снизить можно.

Для того чтобы положить сервер так чтобы он не успевал с лишними запросами справляться есть и более простые способы.
цитата
06/07/07 в 11:19
 janso
У вас, надеюсь, не один апач стоит на сервере?
Поставьте nginx + fcgi + уже этот самый банящий скрипт.

Nginx легко держит тысячи коннектов и в разы меньше расходует памяти, чем апач. От атаки это не избавит, но вот последствия (падения сервера) снизит значительно.
А если еще скрипт соптимизировать хорошо, к примеру, хранить статистику запросов в памяти, а не на винте или в базе, то заддосить вас станет еще сложнее.

Хотя наверное есть уже специальные модули для этого дела, прежде чем писать скрипт, поищите (я, к сожалению, не знаю конкретных примеров, не приходилось пока искать).

Последний раз редактировалось: janso (06/07/07 в 11:21), всего редактировалось 1 раз
цитата
06/07/07 в 11:21
 _s_[sov]
sonata писал:

Для того чтобы положить сервер так чтобы он не успевал с лишними запросами справляться есть и более простые способы.


Чет я не понял вы это к чему? Причем тут положить сервер?
цитата
06/07/07 в 11:56
 sonata
_s_[sov] писал:
Чет я не понял вы это к чему? Причем тут положить сервер?


а к чему еще может привести чтение постоянно растущего файла в память на каждый запрос??

а вообще-то в апаче например модуль mod_limitipconn есть, и mod_bandwidth, или наконец через файрвол можно ограничить - что-то типа ipfw add allow tcp from any to me 80 setup limit src-addr 20...


Эта страница в полной версии