Назад | Перейти на главную страницу

Как отфильтровать HTTP-запрос по количеству параметров

Я столкнулся с действительно странной проблемой, которой не видел. Прямо сейчас у меня есть некоторые веб-приложения, предлагаемые через Apache HTTP.

Бывает, что некоторые HTTP-запросы отклоняются чем-то между сервером и клиентом. Не имеет значения, являются ли они GET или POST, вещь там отклоняет запрос с более чем 40 параметрами. Следовательно, некоторые большие запросы POST (формы с множеством параметров, например, регистрационные данные или данные администратора Joomla) блокируются, и каждый сталкивается с ужасным ответом HTTP 404 (браузер показывает «Указанный URL не может быть найден».

Проверяя access.log и error.log в Apache HTTP, эти запросы не достигают HTTP-сервера, и я тестировал с определенным количеством фиктивных параметров (в GET и POST) с помощью firefox и wget. При количестве до 40 параметров ответ будет 200, при 41 или более он выдает 404 и никакой другой заголовок ...

Почему что-то может фильтровать запрос HTP по количеству параметров? Спасибо за вашу помощь, надеюсь, это правильный форум, чтобы задавать подобные вопросы.

РЕДАКТИРОВАТЬ: Это оказался тот WAF, которого я подозревал. Люди, которые его настраивали, сказали, что это затронуло только один из интерфейсов сервера. Я догадывался, что им удалось справиться со всеми. Правило в WAF, оценивающее ошибочный / подозрительный URL-адрес, ограничивало количество параметров до 40, вероятно, из-за регулярного выражения или чего-то еще. Мы обнаружили это после того, как сделали wirehark и обнаружили, что запрос не доходит до самого сервера. Спасибо вам всем.

Если в журналах нет события 404, оно заблокировано в другом месте. У вас есть брандмауэр приложений, IPS, R-Proxy или аналогичный?