Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализовать ограничения 
V
    Опции темы
Majestio
  Дата 8.12.2015, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Добрейшего времени суток, уважаемые!

Уж очень давно не кодил на PHP, многое забылось. Прошу помочь советами. Нужно решить две проблемы:

1) Ограничить число запросов в единицу времени для отдельного IP
2) Ограничить длину POST-запроса от пользователя

Ну а теперь более детально. По первому вопросу. Хочется предотвратить флуд-запросы от пользователей, дабы не загружать систему. PHP-скрипты в первое время будут работать на бесплатном хостинге, а для него это существенно. Не хотелось бы попасть "под раздачу" от хостера за превышение лимитов. Я понимаю, что по уму это нужно делать на TCP/IP-фильтрах (аля IPTABLES, RF, IPFW), но такой возможности нет. Получается единственное решение - вести таблицу запросов + IP, и сравнивать время последнего запроса? Ну и соответственно не обсчитывать данные, а выкидывать ошибку, если частота запросов от конкретного пользователя превышена?

По второму вопросу - вообще теряюсь. Хостер выдает 128Мб на работу скрипта. Если будут вручную слать 129Mb мусора, просто чтобы завалить работу проекта. Что можно предпринять? Можно ли на уровне скрипта ограничить размер принимаемых данных?
PM MAIL WWW   Вверх
ksnk
Дата 8.12.2015, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Вообще, как-то странно заботится о защите на шаровом хостинге.   smile Такие рессурсы, обычно, никак не выдерживают даже среднюю нагрузку, не говоря о преднамеренном флуде.

Цитата(Majestio @  8.12.2015,  12:03 Найти цитируемый пост)
1) Ограничить число запросов в единицу времени для отдельного IP

POST? Для поста, обычно, открыта сессия, туда записывать время последнего поста. 
Get нет особого смысла блокировать, так как картинки и ресурсы грузятся сразу потоком. Если они проходят через php - будут ложные срабатывания.

Если есть memcahe, можно хранить список IP адресов в нем и банить самых зловредных, но, imho, лучше самодельный "банер" пилить под конкретные атаки и уязвимости.

Цитата(Majestio @  8.12.2015,  12:03 Найти цитируемый пост)
Ограничить длину POST-запроса от пользователя

Есть такая конструкция в php.ini - max_post_size. Обычно - она 8M. Не оно?



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Majestio
Дата 18.12.2015, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



ksnk, спасибо за ответы!
По второму вопросу - решил, для php 5.x (хотя даже чуть раньше) можно править в .htaccess

По первому - выясняю у провайдера можно ли вносить айпишники в IP-Deny-лист не интерактивно из панели управления, а из скрипта. 

Еще раз, спасибо.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.