Перенаправление заголовка и поддержание сеанса, а также безопасность - PullRequest
0 голосов
/ 04 января 2011

Я разрабатываю корзину для покупок, которая использует, например, Captcha для проверки того, что пользователь является человеком.Когда получено неверное представление, пользователь перенаправляется на исходную страницу проверки с помощью

<?php header('Location:https://mysite.com/cart.php?PHPSESSID=mysessionid'); ?>

К сожалению, если я не отправляю идентификатор сеанса в URL-адресе, я теряю все свои данные сеанса на странице и вызываюsession_start () инициирует новый сеанс.Похоже, что в PHP это единственный способ сделать это.Я чувствую, что этот метод немного небезопасен, так как любой пользователь может перехватить сеанс, используя URL-адрес и используя идентификатор сеанса, который он получил.Это может сделать пользователь, покидающий мой сайт и имеющий указанный выше URL-адрес, который будет отмечен как ссылающаяся страница на любом сайте, на котором он просматривал следующий.Есть ли лучший способ скрыть эту переменную?Кажется, что это ужасно большой риск, чтобы позволить этой информации быть открытой и средой для взлома сеансов в одном и том же пространстве.Спасибо за чтение!

1 Ответ

2 голосов
/ 04 января 2011

Обычно сеансы PHP повторно инициализируются из файла cookie HTTP, который браузер отправляет вместе с первоначальным запросом.

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

Если сеанс не будет повторно инициализирован, тогда хорошим началом будет выяснение «почему?».

...