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

Совместное использование сеанса PHP между HTTP и HTTPS

Я настраиваю веб-сайт корзины покупок, однако у меня возникают проблемы с совместным использованием сеансов PHP между HTTPS и HTTP.

Мой безопасный адрес: https://secure.domain.com Мой постоянный адрес: http://domain.com

Я прочитал здесь несколько страниц о serverfault и сам пришел к решению. Я хотел бы знать, является ли мое решение безопасным и практичным.

Мое решение: 1: в новом сеансе сохраните идентификатор сеанса PHP, IP-адрес пользователя и идентификатор (случайно сгенерированное 6-значное число и сохраненное на компьютере клиента как файл cookie) в базу данных 2. Когда клиент переходит на страницу HTTPS. Страница проверяет базу данных на соответствие идентификатора и IP-адреса для идентификатора сеанса PHP.

Если у вас есть лучшее решение, поделитесь

Спасибо

Проблема с этим решением заключается в том, что любые данные аутентификации, включая идентификатор сеанса и случайный идентификатор пользователя, которые вы отправляете по HTTP, могут быть украдены из сети. Видеть Захват сеанса.

Есть два жизнеспособных решения:

  1. Сделайте весь сайт доступным только для HTTPS.

  2. Разрешите HTTP, но перенаправьте пользователя на HTTPS, прежде чем разрешить ему вход в систему. Затем сделайте любые файлы cookie сеанса только HTTPS, чтобы, если пользователь переключится обратно на HTTP, его данные сеанса не будут отправлены в открытом виде.