Назад | Перейти на главную страницу

Заставить браузер отправлять первый запрос через HTTPS, если пользователь обращается к странице через HTTP

Некоторое время назад я обнаружил возможность запретить браузеру устанавливать какие-либо незащищенные соединения с сервером. Я уже перенаправляю своих пользователей с HTTP на HTTPS, но если пользователь сначала отправляет запрос с конфиденциальными данными на http и получает перенаправление на HTTPS, данные уже отправлены на сервер через HTTP.

Вы абсолютно ничего не можете сделать, чтобы запретить кому-либо отправлять данные в виде открытого текста. Единственный контроль, который у вас есть, - это то, как ваш сервер реагирует на это, если вообще. Имея это в виду, я предлагаю вам использовать обычные средства, чтобы либо полностью отклонить запрос, либо просто перенаправить его на HTTPS. На самом деле вы больше ничего не можете сделать.

Я искал заголовок HTTP Strict-Transport-Security. http://hacks.mozilla.org/2010/08/firefox-4-http-strict-transport-security-force-https/

Вы можете настроить веб-сервер так, чтобы он не прослушивал порт 80. Таким образом, не будет TCP-рукопожатия, и браузер даже не отправит свой первый пакет данных. Очевидно, тогда перенаправление больше не будет работать.