пхп-обработчик перегружает сервер?=/

В общем, поставила, только после PHP_EOL)); одну скобочку пришлось убрать - иначе ошибка синтаксиса вылезала.
НЕ долго музыка играла, сайт грохнулся, вот лог... чета длинный лог о_о
 

Вложения

  • logfile.txt
    42,6 KB · Просмотры: 9
PHP:
fwrite($fp, date('H:i:s d-m-Y') . ';' . $ip . PHP_EOL);
Исправь эту строку (я еще добавил чтобы с датой IP писался), я перепутал формат даты (было час:секунда:минута). Если исправишь - не забудь удалить старый logfile.

03:25:06 01-09-2011
03:25:06 01-09-2011
03:25:06 01-09-2011
03:25:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:26:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:27:06 01-09-2011
03:28:06 01-09-2011
03:28:06 01-09-2011
03:28:06 01-09-2011
03:28:06 01-09-2011
03:28:06 01-09-2011
03:28:06 01-09-2011
Учитывая ошибку в формате даты, очевидно, что кто-то (D)DoS-ит сайт, т.к. за секунду 6 и больше запросов.
 
Исправила, ждем-с результата. Хотя наверное они через прокси это делают. Вот если бы нет...

апд упали снова, вот лог с айпи
 

Вложения

  • logfile.txt
    41,1 KB · Просмотры: 9
Как привинтивную меру можно из айпишников лога создать массив и в начале файла делать проверку на присутствие айпишника голосующего в данном массиве, если присутствует- выполнять die(); если нет, то продолжаешь обрабатывать...
А вообще лучше было бы разрешать голосовать только зареганым пользователям и там же вначале проверять на наличие айпишника в базе пользователей... Ну и обрабатывать соответственно, хотя и это не панацея...
 
VDS есть возможность арендовать? Fail2ban поставить, например.
Если нету - проси хостера поставить защиту от DoS, или меняй хостера на с уже настроенной защитой.
Хотя можно попробывать сделать проверку на cookies, еще надежнее какой-нибудь проверочный скрипт на JS написать, но это отсеет реальных пользователей с отключенным JS. Но процесс php всё равно будет каждый раз вызываться, так что это не решит проблему, но может снизить эффект.
 
У меня голосовалка все равно на яве сделана, так что пофиг на отсев. Если есть возможность такой скрипт сделать - я только за.

По поводу просьбы хостеру - у нас тут странный разговор идет... хостер грит, что все окей и никакого ддоса нет, что они защищены и все такое о_О То ли я туплю, то ли одно из двух.
Смотрите:

All our servers are secure and protected. There is not any problem of Ddos attack on server. You just make sure that the password of your account is secure, if not then please change it immediately,

Please feel free to contact us back in case of any further information.

по поводу файла с логами:

There was just permission problem which we have corrected. Please ignore the logs which you are looking. You will not face this problem again.

Через 20 минут после ответа сайт снова упал =)

Я даж не знаю, что еще им сказать =/

На выделенку... напряжно, если честно, будет. Проект хоть и посещаемый, но фановый, прибыли с него немного.
 
У меня голосовалка все равно на яве сделана, так что пофиг на отсев.
DoS идет в обход явы, сразу на обработчик.
хостер грит, что все окей и никакого ддоса нет, что они защищены и все такое о_О То ли я туплю, то ли одно из двух.
DoS-атака (от англ. Denial of Service, отказ в обслуживании) — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён.

Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»).

Говори с хостером насчет DoS атаке (частые запросы с ОДНОГО IP).
На выделенку... напряжно, если честно, будет. Проект хоть и посещаемый, но фановый, прибыли с него немного.
5$ хоть найдется? :) Вполне на эти деньги можно взять VDS.
 
5 конеш найдется =)
Задержку бы в голосовании сделать как-то... хотя бы небольшую =/
 
Мммм... есть одна фишка может облегчить нагрузку на БД... Чёйто я про неё совсем забыл :) В свое время делал защиту от нерадивых пользователей... Суть заключается в чем: Пользователь ставит у себя локальный сервер, делает скрипт, который формирует все данные, которые отправляются твоей формой голосовалки (как правило это стандартные данные: имя формы, имя поля и его значение...) в параметре action формы он прописывает полный путь к твоему скрипту, который обрабатывает данные голосовалки, и активирует событие submit через цикл немереное количество раз... Так он обходит и твою защиту явой, и защиту куками и устраивает простую DoS атаку ...
Но если в твою форму голосовалки на сайте добавить фактор неожиданности, то можно существенно осложнить задачу этому гаду...
1) Добавить в форму поле <input type="hidden" name="checkword" value=".$checkword.">
2) $checkword = md5(дата_в_формате_ГМДЧ + кодовое_слово); В качестве кодового слова можно использовать что угодно: набор букв, цифр, фразы и т.д....
3) в файле обработчике установить проверку на соответствие присланного значения...
if($_POST['checkword']!=md5(дата_в_формате_ГМДЧ + кодовое_слово)){die();}
это не спасет от нагрузки на рнр сервер, но даст возможность не грузить мускул-сервер, что тоже неплохо...
Конечно данные из формы можно скопипастить и посылать в атаку, но долго так заморачиваться врядли кто будет...
 
5 конеш найдется =)

$checkword = md5(дата_в_формате_ГМДЧ + кодовое_слово);
Ага, md5 не будет меняться в течение всего дня. Думаю такая защита легко обходится. Но если сделать так, чтобы каждый раз новый md5, тогда да.
что тоже неплохо...
Не думаю.. Хостер всё равно будет банить скрипт за зашкаливающее количество процессов php.
 
Назад
Сверху