Заблокирован сайт за превышение нагрузки

Главные вкладки

Аватар пользователя Drugan Drugan 31 октября 2009 в 18:32

Хостер teli заблокировал сайт за превышение нагрузки. В логах в момент перегрузки такие записи:

94.50.175.225 - - [30/Oct/2009:20:23:29 +0300] "POST / HTTP/1.0" 500 12133 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705), Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705)"

Запросов много до десятка в секунду. Такое повторялось несколько раз за последние дни. Адреса разные, т.е. по ip не заблокировать. Как можно эту бяку прибить?

Комментарии

Аватар пользователя Drugan Drugan 31 октября 2009 в 19:38

Я не спец в этих вопросах. Получается ддосят конкретно мой сайт?
Могу я что-то предпринять для защиты или остается только надеяться на хостера?

Аватар пользователя Drugan Drugan 31 октября 2009 в 21:08

Возникла мысль. Во всех запросах есть "POST /". Может можно с помощью php по этому признаку заблокировать?

Аватар пользователя Drugan Drugan 31 октября 2009 в 21:21

if (strstr($_SERVER['REQUEST_URI'] ,"POST / HTTP/1.0"))
{
header("HTTP/1.1 404 Not Found");
exit;
}

Это поможет? И куда вставлять, в index.php или page.tpl.php?

Аватар пользователя Drugan Drugan 31 октября 2009 в 21:54

Где нормальные запросы там, например, "POST /node/add/news HTTP/1.0".

Думаю так лучше будет:

if (strstr($_SERVER['REQUEST_URI'] ,"POST / HTTP/1.0"))
{
$htc=fopen("/home/xxxxxx/public_html/.htaccess", "a");
fputs($htc, "deny from " . $_SERVER['REMOTE_ADDR']);
fclose($htc);
header("HTTP/1.1 404 Not Found");
exit;
}

Код правильно написал?

Аватар пользователя Vladimir_VVV Vladimir_VVV 31 октября 2009 в 21:59

Так то поможет только я не помню чтоб пост в реквест_ури писалось, а мысль вашу понял.
А на счет того что

Quote:
Ага, поможет, не зайти на сайт и не отправить ни одной формы

то в drupal обычно нету постов на морду поэтому фильтровать пост который приходит на морду '/' - можно. Лучше это сделать через хтаксес чтоб пхп вобще не трогать.

Аватар пользователя apaden apaden 5 ноября 2009 в 16:17

Если защищаться от ддоса средствами машины, на которой стоит сайт это не снимет нагрузку с самой машины, надо закрывать вебсервер фильтрующим фаерволом, желательно хардварным.

Этим обязан хостер заниматься.
- не обязан. Хостер увидел что ваш сайт через чур активно юзают (ддосят), говорит вам что это слишком круто и отключает его. Не на всех хостингах есть поддержка защиты от ддос. Я работал в фирме занимающейся защитой от ддос, клиентов было полно, и с разных хостеров, в тч зарубежных, что доказывает мою теорию. Когда вы подключаетесь к защите от ддос вы просто говорите хостеру что мол включите, мы под защитой и сайт поднимается. Ну это уже лирика.