HTTP POST преобразование в HTTPS GET при перенаправлении через прокси-сервер

У меня есть домен кластера weblogic, который имеет следующую конфигурацию: 2 управляемых сервера, 1 сервер администратора и прокси-сервер. Мой веб-приложение развернуто на 2 управляемых серверах.

Порты SSL на обоих управляемых серверах включены, и я добавил ограничение данных пользователя как конфиденциальное в web.xml, чтобы порты SSL всегда использовались для связи с mywebapp.

<user-data-constraint>
   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>

Теперь вот вопрос:

HTTP-запрос клиента формы Internet Explorer для HTTP-порта прокси-сервера преобразуется в HTTPS GET, когда прокси-сервер перенаправляет запрос на SSL-порт одного из управляемых серверов. Следовательно, клиент Internet Explorer никогда не получает ответ HTTP POST.

Моя цель здесь - обеспечить HTTPS, даже если клиент использует HTTP. Есть ли проблемы с этой конфигурацией? Я хочу как-то запретить Internet Explorer конвертировать HTTP POST в HTTP GET при получении "302 найдено"

1 ответ

Решение

Если клиент получает HTTP 303 See Also код, он безоговорочно отправит запрос GET. Если клиент получает HTTP 302 Found, он должен отправить такой же тип запроса (POST) на перенаправленный URL с подтверждением пользователя. Это может не работать должным образом на старых браузерах, которые имеют тенденцию лечить 302 Found как будто это было 303 See Also,

В любом случае, иметь форму на незащищенной странице и отправлять данные на защищенную страницу - плохая идея.

Страница формы может быть повреждена и отслежена любым способом, который вы можете себе представить, и пользователь не может быть уверен, что данные, которые он отправляет, являются данными, которые он видит.

Пример: ваша форма имеет поле "MainData". Промежуточный фишинговый сайт может написать JavaScript, чтобы шпионить за введенными данными, поместить скрытое поле "MainData", содержащее все, что он пожелает, и показать фиктивное поле "FakeIgnoreData" для пользователя.

Решение. Поместите страницу формы и страницу отправки на один и тот же HTTPS-сервер.

Другие вопросы по тегам