Спустя 1 минута, 58 секунд (10.10.2012 - 12:02) Игорь_Vasinsky написал(а):
ограгичить запросы к сайту по времени, например 3-5 сек 1 запрос, но не по IP - бери всё что можешь у юзера + IP
на этом форуме флуд контроль видел?
на этом форуме флуд контроль видел?
Спустя 2 минуты, 35 секунд (10.10.2012 - 12:05) bposter написал(а):
Да видел, а как реализовать ? может есть готовое решение у кого нибудь?
Спустя 18 минут, 4 секунды (10.10.2012 - 12:23) Игорь_Vasinsky написал(а):
Даже проще оказалось)
<?php
#error_reporting(E_ALL);
header('Content-Type: text/html;charset=UTF-8');
session_start();
$limit = 5;
if(isset($_SESSION[session_id()]) AND (time()-$_SESSION[session_id()]) <= $limit)
exit('Фууууу.. ддоссер.... кышь!');
else
$_SESSION[session_id()] = time();
?>
Спустя 7 минут, 12 секунд (10.10.2012 - 12:30) bposter написал(а):
Спасибо
Спустя 2 минуты, 47 секунд (10.10.2012 - 12:33) Игорь_Vasinsky написал(а):
сам в шоке.
Спустя 25 минут, 36 секунд (10.10.2012 - 12:59) bposter написал(а):
А поисковые роботы как часто обращаются к сайту? чтоб им не выдавало сообщения о частых обращениях
Спустя 2 минуты, 1 секунда (10.10.2012 - 13:01) dron4ik написал(а):
ну самый простой как по мне вариант то создавать куку на 3-5 сек, и если она есть то не пускать)))
Но не работает если куки отключить, тогда пробуем сессию, Игоря...
За поисковик не переживай, он поймет и простит!)
Но не работает если куки отключить, тогда пробуем сессию, Игоря...
За поисковик не переживай, он поймет и простит!)
Спустя 3 минуты, 23 секунды (10.10.2012 - 13:04) Игорь_Vasinsky написал(а):
тоже задумался.
нужно простую проверку на известных USER_AGENT ботов написать и если бот - то не включать этот код.
http://www.tengy.ru/bot.html
нужно простую проверку на известных USER_AGENT ботов написать и если бот - то не включать этот код.
http://www.tengy.ru/bot.html
Цитата |
ну самый простой как по мне вариант то создавать куку на 3-5 сек, |
если есть вероятность что этот кусок у кого то будет не работать - то он нафиг не нужен.
сессия живет на сервере - и не зависит от юзера, он будет в любом случае при заходе.
Спустя 2 минуты, 35 секунд (10.10.2012 - 13:07) Hello написал(а):
Цитата (dron4ik @ 10.10.2012 - 13:01) |
Но не работает если куки отключить, тогда пробуем сессию, Игоря... |
Сессия с отключенными куками?
Спустя 4 минуты, 7 секунд (10.10.2012 - 13:11) Игорь_Vasinsky написал(а):
Цитата |
Сессия с отключенными куками? |
да да . погоречился. если куки выключать то нужно другую идентификацию собирать
вообще я бы так сделал чтоб не гадать, вдруг агенты у ПС изменились
<?php
#error_reporting(E_ALL);
header('Content-Type: text/html;charset=UTF-8');
session_start();
$limit = 5;
if(isset($_SESSION[session_id()]) AND (time()-$_SESSION[session_id()]) <= $limit)
{
file_put_contents('ddos.log', $_SERVER['USER_AGENT'].PHP_EOL, FILE_APPEND);
exit('Фууууу.. ддоссер.... кышь!');
}
else
$_SESSION[session_id()] = time();
?>
т.е. писал бы всех "доссеров" в лог и анализировал, если бот попался - то ставлю для его агента исключение.
кстати если боты такие шустрые - то обидно.
CURLом парсить будут безбожно -а ты не сном не духом :unsure:
Спустя 9 минут, 8 секунд (10.10.2012 - 13:20) dron4ik написал(а):
Цитата (Игорь_Vasinsky @ 10.10.2012 - 10:04) |
если есть вероятность что этот кусок у кого то будет не работать - то он нафиг не нужен. |
Ну на закрытых сайтах разве что...
А по правильному то писать посетителей нужно)))
Но опять таки, если сайт простой и на дешевом хосте то не рационально(((
Потом--------
А по самому правильному, это задача хостера)))
Спустя 15 минут, 20 секунд (10.10.2012 - 13:35) killer8080 написал(а):
А может лучше кеширование использовать?
Спустя 19 секунд (10.10.2012 - 13:36) bposter написал(а):
Время покажет если сайт про индексируется то гуд. Буду ждать.
Спустя 2 минуты, 47 секунд (10.10.2012 - 13:38) Invis1ble написал(а):
если не ошибаюсь, в robots.txt можно указать лимит частоты запросов
Спустя 5 минут, 28 секунд (10.10.2012 - 13:44) Игорь_Vasinsky написал(а):
кеширование в память не каждый хостер memcached ставит, на уровне ngnix в основном
файловый кэш - не каждому подойдёт, у меня так 500 метров под завязку постерами для кеша где то 300 мб надо.
файловый кэш - не каждому подойдёт, у меня так 500 метров под завязку постерами для кеша где то 300 мб надо.
Спустя 2 минуты, 9 секунд (10.10.2012 - 13:46) killer8080 написал(а):
Игорь_Vasinsky
сделай кеш экспайр поменьше, минут на пять. И кроном стартуй свой гарбидж коллектор.
сделай кеш экспайр поменьше, минут на пять. И кроном стартуй свой гарбидж коллектор.
Спустя 22 минуты, 57 секунд (10.10.2012 - 14:09) Игорь_Vasinsky написал(а):
killer8080
вот ты молодец)) у меня и так есть он, 10мин уже снизил - но 10 минут и крон чистит, тока этого не достаточно оказалось
после чистки от мусора кэш страницы весит 60-70кб
100 заходов пользователей на разные страницы это 6-7мб
1000 = 60-70мб.
а скока страниц может человек прошуршать просматривая и подбирая фильмы для просмотра за 10 мин? 30-40 - по себе сужу т к всё давно пересмотрел, может чё упустил - вот и ищу.
так что тут либо сокращать весь очищенной страницы нужно, либо сокращать время жизни -что канешь тоже даст снижение нагрузки ну хот в 2 раза но даст, либо увеличение дискового пространства.
вот ты молодец)) у меня и так есть он, 10мин уже снизил - но 10 минут и крон чистит, тока этого не достаточно оказалось
после чистки от мусора кэш страницы весит 60-70кб
100 заходов пользователей на разные страницы это 6-7мб
1000 = 60-70мб.
а скока страниц может человек прошуршать просматривая и подбирая фильмы для просмотра за 10 мин? 30-40 - по себе сужу т к всё давно пересмотрел, может чё упустил - вот и ищу.
так что тут либо сокращать весь очищенной страницы нужно, либо сокращать время жизни -что канешь тоже даст снижение нагрузки ну хот в 2 раза но даст, либо увеличение дискового пространства.
Спустя 6 минут, 47 секунд (10.10.2012 - 14:16) killer8080 написал(а):
Игорь_Vasinsky
еще как вариант, в базе хранить связку url | update_date. При выдаче контента выдавать заголовок Last-Modified. При наличии в запросе заголовка If-Modified-Since, сверять дату, если не истек, выдавать 304 статус, без контента. По крайней мере от зажатого Ф5 это будет эффективно, и снижает трафик.
еще как вариант, в базе хранить связку url | update_date. При выдаче контента выдавать заголовок Last-Modified. При наличии в запросе заголовка If-Modified-Since, сверять дату, если не истек, выдавать 304 статус, без контента. По крайней мере от зажатого Ф5 это будет эффективно, и снижает трафик.
Спустя 9 минут, 33 секунды (10.10.2012 - 14:25) Игорь_Vasinsky написал(а):
Цитата |
По крайней мере от зажатого Ф5 |
хоть и по теме, но я уже расширил о своих проблемах
у меня ужасную нагрузку могут создать живые люди и с кэшем я взаднице
у меня на каждой странице
1 запрос в БД к 3м таблицам с пагинатором
инфо фильма
кол-во просмотров
рейтинг
1 такой же на вывод топа по просмотра
1 такой же на вывод топа по рейтингу
+ запрос нажанры всей таблицы - потом фильтровка массива и вывод категорий - сделал так - чтобы категории автоматом строились.
хз 1к держал, а дальше не знаю что хостер скажет
за сутки щас листают до 1600 страниц.
Спустя 2 минуты, 33 секунды (10.10.2012 - 14:28) Игорь_Vasinsky написал(а):
а это
Цитата |
еще как вариант, в базе хранить связку url | update_date. |
тока дишние запросы в БД, мне своих хватает
надо докупить ещё 500 метров и включать файловый кэш
Спустя 21 секунда (10.10.2012 - 14:28) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 10.10.2012 - 14:25) |
хз 1к держал, а дальше не знаю что хостер скажет |
скажет арендовать сервер, а потом и датацентр
Спустя 3 минуты, 6 секунд (10.10.2012 - 14:31) VELIK505 написал(а):
Надо с микроддосом на уровне nginx решать вопросы.
В nginx.conf можно задать:
limit_conn one "количество одновременных соединений" ;
limit_req zone=two burst = "скоко обращений";
перед этим указав rate
rate=2r/s - считаеться вполне нормально для посетителя всё что выше попадёт под burst и далее -> error 503.
и также ngx_http_limit_req_module решает более сложные задачи вплоть до вязки с файрволом
В nginx.conf можно задать:
limit_conn one "количество одновременных соединений" ;
limit_req zone=two burst = "скоко обращений";
перед этим указав rate
rate=2r/s - считаеться вполне нормально для посетителя всё что выше попадёт под burst и далее -> error 503.
и также ngx_http_limit_req_module решает более сложные задачи вплоть до вязки с файрволом
Спустя 54 секунды (10.10.2012 - 14:32) Игорь_Vasinsky написал(а):
ну щас он в месяц 600-1000р приносит в принципе стоит задуматься уже.
VELIK505
у меня виртуальный хостинг)
VELIK505
у меня виртуальный хостинг)
Спустя 1 минута, 52 секунды (10.10.2012 - 14:34) VELIK505 написал(а):
Цитата (Игорь_Vasinsky @ 10.10.2012 - 11:32) |
ну щас он в месяц 600-1000р приносит в принципе стоит задуматься уже. VELIK505 у меня виртуальный хостинг) |
так а на виртуальном хостинге у них же всё настроено по зонам вот скачай даже лоик попробуй подолбить сайт на вирт хосте тебя сразу в файрвол кинет.
_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)