Переменные PHP SESSION между https и http - PullRequest
0 голосов
/ 14 января 2011

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

Моя проблема: У меня есть кнопка «войти / зарегистрироваться» в верхней части каждой http-страницы сайта. Я хотел бы, чтобы это отражало статус входа в систему и изменялось на «выход из системы», а также имел некоторые другие кнопки входа в систему, которые просто перенаправляют на страницы https. Я не пытаюсь каким-либо образом манипулировать какими-либо данными или другой защищенной информацией на страницах http.

В IE8 переменная сеанса HTTPS, созданная для входа, обнаруживается в http (на домашней странице), и она правильно отображает альтернативную ссылку «log out». Однако во всех других браузерах переменная сеанса отсутствует в http. Какой самый простой способ исправить это, не создав огромного недостатка безопасности? Да, и URL-адреса одинаковы, за исключением http и https.

Ответы [ 2 ]

1 голос
/ 14 января 2011

Если вы хотите защитить куки сеанса, вы должны убедиться, что браузер отправляет куки только в HTTPS. Поэтому любой способ выяснить состояние входа по HTTP-соединению небезопасен.

Я +1 решение, которое разместила Эмбер.

1 голос
/ 14 января 2011

Один простой способ сделать это, который используют многие сайты, состоит в том, чтобы кнопка действительно загружалась на стороне клиента через скрипт, который отправляет запрос к URL-адресу HTTPS, чтобы определить, вошел ли пользователь в систему, а не HTML-код должен быть частью страницы, обслуживаемой HTTP.

...