Здравствуйте, уважаемые!
При создании скриптов для взаимодействия с платежными системами возник следующий вопрос.
Есть ли смысл защищать БД от засорения? Ведь капча или же подтверждение электронного адреса перед оплатой займет лишнее время.
Допустим, в течении одной секунды можно совершить целую уйму запросов к БД. И во что же превратится база данных после такой атаки?
Какие есть решения данной проблемы, учитывая то что новые записи, добавленные INSERT, у меня должны сохраняться в течении суток?
Первое что пришло в голову - каждый раз при обращении клиента выбирать из БД последние добавленные записи с одинаковыми промежутками по сравнению с предыдущей записью. Если промежутков в конце было несколько штук подряд и разница между текущим временем и последней датой не больше этого промежутка, тобишь 1 сек., отказываем в доступе.
Есть ли смысл в таком подходе? Может быть лучше использовать CRON?
Игорь_Vasinsky
24.01.2014 - 15:42
Цитата |
Есть ли смысл защищать БД от засорения? |
офигеть. как он(вопрос) возник? и почему сразу не появился ответ?
3 запроса в 5 сек - бан по ip на месяц.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата |
3 запроса в 5 сек - бан по ip на месяц. |
Как бы так пару сотен человек не забанить с Билайна.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
А если IP совершенно разные?
Тогда получается, что надо всю цепочку отправлять в баню!
Допустим, банить на какое-то время. И времени на совершение операции давать по-минимуму. Только вот какие значения будут оптимальны?
Цитата |
Тогда получается, что надо всю цепочку отправлять в баню! |
тогда пора вскрывать желтый конверт и тратить деньги на защиту от DDOS
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Учитывая возможности mysql, cron'ом тут не ограничиться.
Надо свести риск к минимуму.
Допустим, кроме пхп, больше ничего и не предусмотрено.
Кстати, по поводу защищенных от ddos-атак хостингов, рекомендации более чем интересны, причем не от фанаря, а реально используемые решения. У кого есть опыт в этом направлении? Решит ли облачный хостинг данную проблему?
Наверное, придется импровизировать!
Так а как вообще эта защита работает?
Точно то никак не определишь кто есть кто!
Допустим, клиент просто пытается попасть на страницу оплаты, а там вылазит сообщение о блокировке или alert с просьбой ввести ответ на вопрос... Кое-где уже приходилось наблюдать подобную систему.
Так может просто сделать каптчу для всех кто оказался в цепочке??
a1ex
Да просто пора наконец взять себя в руки и почитать, как борются с DDOS, а борятся одним способом - умным железом, могут помочь кое какие настройки с сервером, но это не надолго и для слабых атак.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Спасибо за ответы!
Насчет ddos понятно, что php не обойтись!
По идее, от засорения БД такие меры помогут!
Игорь_Vasinsky
24.01.2014 - 17:39
Цитата |
Как бы так пару сотен человек не забанить с Билайна. |
ну как бэ одним IP ограничиваться не нужно
да и ip или useragent - можно легко подменить
простой способ ловить - это ловить авторизованного юзера.
или для начала использовать не простую капчу
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
linker
24.01.2014 - 22:35
Если у заказа есть id, ну или номер заказа, то на этот номер заказа поставить PRIMARY KEY и тогда нельзя будет добавлять по сто раз одно и тоже.
_____________
Gear FrameworkGear Framework на Github
linker
Это только процесс создания заказа.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.