как получить переменные сессии, используя идентификатор сессии - PullRequest
21 голосов
/ 04 января 2012

У меня есть идентификатор сеанса моего приложения. Теперь я хочу получить все переменные сессии, используя этот идентификатор сессии.

Я использовал <?php echo session_id()?>, чтобы получить идентификатор сеанса, но как получить все значения объекта сеанса, используя этот идентификатор сеанса?

Ответы [ 4 ]

59 голосов
/ 04 января 2012

Согласно php.net : Существует несколько способов утечки идентификатора существующего сеанса третьим сторонам.Утечка идентификатора сеанса позволяет третьей стороне получить доступ ко всем ресурсам, связанным с конкретным идентификатором.Во-первых, URL-адреса, содержащие идентификаторы сессии.Если вы ссылаетесь на внешний сайт, URL-адрес, включая идентификатор сеанса, может быть сохранен в журналах ссылок внешнего сайта.Во-вторых, более активный злоумышленник может прослушивать ваш сетевой трафик.Если он не зашифрован, идентификаторы сеанса будут передаваться в виде простого текста по сети.Решение здесь состоит в том, чтобы внедрить SSL на вашем сервере и сделать его обязательным для пользователей.

Возникает вопрос: как у вас есть идентификатор сеанса, но вы не можете получить доступ к сценарию?

Независимо от того, вам нужно установить идентификатор сеанса и затем запустить его ... затем получить доступ к данным.

session_id($whatever_id_you_have);
session_start();
echo $_SESSION['somekey'];
1 голос
/ 04 января 2012

var_dump($_SESSION); покажет вам содержимое текущего сеанса, после чего вы сможете получить доступ к значениям так же, как и в обычном массиве.

1 голос
/ 04 января 2012

$_SESSION - это то, что вы ищете. Не забудьте сначала позвонить session_start(). Смотри http://php.net/session.examples.basic

0 голосов
/ 19 января 2016

Вы можете проверить все значения сеанса, используя этот ..

print_r($_SESSION);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...