Подтвердить что ты не робот

Как перенаправить с HTTPS на HTTP без раздражающих сообщений об ошибках

Я хочу перенаправить пользователей после входа HTTPS на страницы HTTP на сайте. Использование HTTPS для всего сайта не произойдет.

До сих пор я был следующим:

  • Пользователь вводит форму входа в безопасный сайт
    • Защищенный сервер проверяет учетные данные
    • Защищенный сервер отправляет перенаправление 302 клиенту

Это работает, за исключением моей машины в IE6, пользователь получает сообщение об ошибке, потому что по умолчанию предупреждается при выходе из защищенной страницы. Эти ошибки являются убийцей юзабилити для меня и, таким образом, showstopper. Я изменил его так, чтобы шаг 3 был

  • Сервер отправляет html-код с обновлением meta​​li >

Но это очень медленно; даже на моей локальной машине это заметно медленнее, чем перенаправление 302.

Есть ли лучший способ достичь цели бесплатного перенаправления при стандартных настройках, которые люди используют? IE6 составляет 20-25% нашего трафика. Кроме того, есть ли у кого-нибудь хорошая информация о том, какие браузеры будут предупреждать и который не будет предупреждать о перенаправлении 302? Я рассматриваю черный список IE6, так что только он получает медленное обновление мета, а все остальные получают быстрый 302.

4b9b3361

Ответ 1

Я рассматриваю IE6 с черным списком, чтобы только он получал медленное обновление мета, и все остальные получают быстрый 302.

Я бы сделал что-то подобное. Также включите в тело обычную HTML-ссылку для доступа.

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

  1. Защищенный сервер отправляет перенаправление 302 клиенту

Вы не должны отвечать на POST 302. Теоретический браузер, который серьезно воспринял HTTP RFC, мог бы ответить на это путем повторной отправки формы в новый URL. (Что, по иронии судьбы, сделало бы предупреждение IE6 о том, что информация "ретранслируется на небезопасный сайт" менее вводит в заблуждение.) Вместо этого используйте "303 See other".

Ответ 2

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

Одним из способов перемещения с https на http без предупреждения является использование переадресации клиента с помощью javascript.

Шаги

  • Пользователь вводит данные для входа в форму https и нажимает кнопку входа в систему.
  • кнопка входа в систему вернет обратно в форму https для подтверждения входа (при условии, что логин верен) перенаправит на страницу холдинга, которая также находится под https, и отобразит сообщение (пожалуйста, подождите, пока сайт перенаправляет вас)
  • Эта страница для холдинга делает перенаправление javascript на страницу http

не будет отображаться предупреждающее сообщение браузера

НТН

Ответ 3

Я не думаю, что есть другой путь. Это сообщение об ошибке для пользы пользователя, а также присутствует в IE 7 и Firefox 3. Единственный способ, который я знаю, чтобы предотвратить это, - добавить ваш сайт как доверенный в браузере.

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