У меня есть сайт, который использует форму ввода заказа и отправляет довольно приличный размер запроса POST при отправке формы.
Однако, когда определенное значение передается в одну из наших переменных формы (OrderDetail), каждый раз без сбоев, он получает страницу ошибки в браузере и ошибку 504 через Fiddler.
Вот пара примеров тестов, которые я провел прошлой ночью, отправляя запросы POST через Fiddler.Когда значение «OrderDetail =» изменяется на приведенное ниже, оно либо успешно отправит сообщение, либо вернет ошибку 504 через несколько секунд:
Эти ошибки: FAIL:
- & OrderDetail = Deliver +Письмо + о + Выполнение% 3B + и + Заявление + на + Заработок + Удержание + Заказ + в + Лос-Анджелес + Округ + Шериф + DASH + Суд + Услуги + Отдел + за + инструкции
- & OrderDetail = Доставить+ Выполнение + Заработок + Удержание + Приказ + в + Лос + Анджелес + Округ + Шериф + DASH + Суд + Услуги + Отдел + за + инструкции
- & OrderDetail = Доставить + Письмо + о + Выполнение% 3B + и +Заявка + на + Заработок + Удержание + Заказ + в + Лос + Анджелес + Округ + Шериф
- & OrderDetail = Доставить + Письмо + о + Выполнение% 3B + Заявление + для + Заработок + Удержание + Заказ + в + Лос+ Анджелес + Округ + Шериф
- & OrderDetail = Запись + о + Удержание + Исполнение + Заказ + Лос + Анджелес + Округ + Шериф
- & OrderDetail = приказ + Выполнение + adsfsdfsdfsd + Порядок + Округ
- & OrderDetail = wd + Execution + adsfsdfsdfsd + Order + Count
Это мне помоглоотметив, что, возможно, это связано со словами « Exec » (ошибки «Exec» и «Execution», «Exe» - нет) и « Count » («County»)и «Count» выдает ошибки, «Cont» - нет)
Однако я не видел ничего такого, упомянутого в поиске Google, касающегося ошибки 504.
Относительно кода Coldfusion вокруг этогоНет ничего интересного для этой страницы.Просто стандартная форма поста.Я добавил тест cfmail в файл приложения, и при этих сбоях он никогда не запускался, так что, похоже, это происходит между браузером и IIS.Мы находимся на общем сервере, поэтому я не вижу там слишком много.
Как ни странно, когда параметр & OrderDetail = изменяется на одно из этих значений (очень похоже на приведенное выше),результат - успех:
- & OrderDetail = wd + Execution + adsfsdfsdfsd + Order + Coun
- & OrderDetail = wd + Execution + adsfsdfsdfsd + Order + Conty
- & OrderDetail = Writ+ из + Удержание + Орден + Выполнение + Лос + Анджелес + Округ + Шериф
- & OrderDetail = Writ + of + Удержание + ВыполнениеЗаказ + Лос + Анджелес + Округ + Шериф
ВВ-третьих, я поставил «Порядок» ДО «Выполнения», и он работает ..
Общая длина этого запроса POST составляет около 4720 символов.Я увеличил длину этого одного поля до 5-6 раз, и они прошли, так что это почти кажется связанным со значением параметра "& OrderDetail" в POST.
Любые идеи о том, почему этоконкретные данные могут быть проблемой для веб-сервера?Я никогда не видел этого раньше, и это не будет проблемой для почти любого другого запроса.
Еще одно интересное замечание: в запросе POST эта переменная довольно близка к началуиз списка параметров.Если я удалю все после него, это пройдет без проблем.Хотя я не смог понять, что в последующих строках может быть причиной.Я могу опубликовать весь запрос, если он поможет.
Что еще более важно, я просто хочу знать, что можно квалифицировать как «зарезервированное» или «незаконное» для данных FORM.Кажется, что все экранировано правильно, поэтому я не уверен, что еще можно сделать здесь, за исключением некоторой предварительной обработки javascript для дальнейшего экранирования любых таких слов.
Спасибо!