#xss #ajax #безопасность #token #форма
Есть форма, где одно из первых полей сразу после заполнения .on('blur') прозрачно пробивается через БД сайта — зарегистрирован уже такой, или нет? В зависимости от результата, прячется или показывается часть полей ниже. Злодеи могут такой механизм задолбать массовыми запросами, в результате чего типа получат инфу, которой у них быть не должно — отн. того, кто на сайте есть, а кого нет. Как пока делаю: в сессии храню кол-во запросов. Если больше N — далее не обрабатываю, все ответы негативны. Понятно, что можно сессию сбросить, через прокси заходить, через Тор. Но, наверное, от полномасштабной пробивки это как-то защитит. Как хочется делать: что-то типа защиты форм, где всякий раз генерится уникальный токен, который можно использовать только раз. Вопрос: как «правильно» защититься от совсем уж наглой и массовой пробивки данных через обработчик ajax запросов?
Ответы
Ответ 1
Подход с хранением количества запросов для определенных IP адресов как правило защищает неплохо, да и что-либо другое придумать тут крайне сложно. Можно лишь сменить уровень на котором проходит фильтрация и перенести эту задачу непосредственно на веб сервер. Если используете IIS, то есть специальный модуль: Dynamic IP Restrictions module. Думаю есть аналоги для Apache
Комментариев нет:
Отправить комментарий