Отправка формы на защищенный URL с незащищенной страницы - PullRequest
2 голосов
/ 12 января 2012

Предположим, у меня есть форма на странице в этом месте ...

http://mydomain.com/myform.htm

И форма выглядит следующим образом ...

<form method="post" action="https://secure.otherdomain.com/handleform.php">
   ....
</form>

Предполагая, что есть действительныйСертификат SSL, установленный на сервере, который получает отправку этой формы, будет ли зашифровано содержимое этой отправки?

Ответы [ 3 ]

6 голосов
/ 12 января 2012

POST-запрос будет передаваться по HTTPS (поэтому шифруется, если настроен правильно). Отправка формы со страницы, полученной по обычному HTTP, на страницу HTTPS - плохая практика. Начальная страница также должна обслуживаться по HTTPS. Причина этого в том, что злоумышленник MITM может перехватить ответ, который загружает страницу с формой, и заменить ссылку, чтобы указать на другую цель.

См. Первое правило здесь (конечно, не только для страниц входа):

Правило - используйте TLS для всех страниц входа и всех аутентифицированных страниц

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

3 голосов
/ 12 января 2012

Если между сервером и клиентом можно договориться о действительном сеансе SSL / TLS, тогда да.Это означает, что клиент должен быть готов доверять любому сертификату, который предоставляет сервер, и что обе стороны могут договориться о взаимоприемлемом наборе шифров (какие алгоритмы использовать и т. Д.).Существует множество опций конфигурации, которые вы можете установить, чтобы изменить то, что разрешено, но в «нормальной» реализации, где вы не возитесь с требованием конкретного, ненормального алгоритма, требующего аутентификации сертификата на стороне клиента и т.все должно работать нормально, и у вас будет защищенный сеанс ... и если по какой-то причине он не получится, вы узнаете, что ваш клиент получит сообщение об ошибке.

Обратите внимание, что вВ общем, хотя вы можете сделать это, и передача будет зашифрована, вы, как правило, не должны.Отправка незашифрованной / защищенной страницы на одну страницу делает вас уязвимым для нескольких типов атак «Человек посреди».Вы можете увидеть статью OWASP по этому вопросу, и почему это плохо, здесь .

0 голосов
/ 12 января 2012

Да. Это будет безопасно передано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...