Разрешить отправку http-формы в виде https-сообщения - PullRequest
1 голос
/ 03 июня 2010

Есть ли способ заставить небезопасную форму сообщения быть безопасным? Я понимаю, что есть способы автоматически разрешить URL-адрес http как URL-адрес https, но с сообщениями в форме, не слишком ли поздно этот тип перенаправления? Будут ли опубликованные данные уже переданы в виде простого текста?

Ответы [ 3 ]

0 голосов
/ 03 июня 2010

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

Если для параметра 'action' задано полное URL-адрес https, тогда данные будут зашифрованы при поступлении на сервер, но они все еще менее безопасны, чем все, что происходит в https с самого начала.

0 голосов
/ 03 июня 2010

Вот несколько вещей, которые приходят на ум:

  1. Как уже отмечалось, вы можете просто установить URL-адрес действия формы на HTTPS-адрес.

  2. Измените протокол с HTTP на HTTPS до публикации страницы. Это казалось бы самым идеальным. Это также дает вашим посетителям больше чувства безопасности, увидев защищенный замок перед вводом какой-либо информации (если это даже имеет значение). На ум приходят три способа:

    • Измените все ссылки на страницу формы на HTTPS.
    • Обнаружение небезопасного просмотра страницы и перенаправление (с использованием сценариев на стороне клиента)
    • Сделайте то же самое, но на сервере, отправив заголовок Location (a.k.a. Response.Redirect).

Пример этого в javascript достаточно прост:

if ('https:' != window.location.protocol) {
    // This assumes your secured domain is the same as the currently-browsed one...
    window.location = String(window.location).replace(/^http:\/\//, 'https://');  
}

Удачи!

0 голосов
/ 03 июня 2010

Есть ли способ заставить небезопасную форму сообщения быть безопасным?

Технически, нет. Однако вы можете сделать атрибут action формы полностью определенным HTTPS-сайтом, независимо от того, защищен ли протокол, который его представил, или нет.

Будут ли опубликованные данные уже переданы в виде простого текста?

Да, поскольку на сервере происходит перенаправление, введя в ответ код состояния 301/302.

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