Хостер 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 не заблокировать. Как можно эту бяку прибить?
Комментарии
А там во всех запросах "POST /"? Выглядит как ддос, обратитесь к фирмам, занимающимся защитой
Да во всех запросах "POST /"
Этим обязан хостер заниматься.
Я не спец в этих вопросах. Получается ддосят конкретно мой сайт?
Могу я что-то предпринять для защиты или остается только надеяться на хостера?
Возникла мысль. Во всех запросах есть "POST /". Может можно с помощью php по этому признаку заблокировать?
if (strstr($_SERVER['REQUEST_URI'] ,"POST / HTTP/1.0"))
{
header("HTTP/1.1 404 Not Found");
exit;
}
Это поможет? И куда вставлять, в index.php или page.tpl.php?
Ага, поможет, не зайти на сайт и не отправить ни одной формы
Где нормальные запросы там, например, "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;
}
Код правильно написал?
Так то поможет только я не помню чтоб пост в реквест_ури писалось, а мысль вашу понял.
А на счет того что
то в drupal обычно нету постов на морду поэтому фильтровать пост который приходит на морду '/' - можно. Лучше это сделать через хтаксес чтоб пхп вобще не трогать.
топикстартер. у тебя там реферер отсутсвует. запрети в htaccess все постзапросы с пустым рефом. и все.
RewriteCond %{THE_REQUEST} "POST / HTTP/1.0"
RewriteRule .* - [F]
Так правильно?
проверку реферера забыл
Если защищаться от ддоса средствами машины, на которой стоит сайт это не снимет нагрузку с самой машины, надо закрывать вебсервер фильтрующим фаерволом, желательно хардварным.
Этим обязан хостер заниматься.
- не обязан. Хостер увидел что ваш сайт через чур активно юзают (ддосят), говорит вам что это слишком круто и отключает его. Не на всех хостингах есть поддержка защиты от ддос. Я работал в фирме занимающейся защитой от ддос, клиентов было полно, и с разных хостеров, в тч зарубежных, что доказывает мою теорию. Когда вы подключаетесь к защите от ддос вы просто говорите хостеру что мол включите, мы под защитой и сайт поднимается. Ну это уже лирика.
В лююбом случае стоит указать хостеру, что вас атакуют и вы какбе ни при чем. Может они просто увидели проблему, а разбираться не стали.