Просмотр переменных сеанса php

Не уверен, что это принадлежит здесь или в webapps … пожалуйста, переместите, если это необходимо.

Я даже не знаю, возможно ли такое, но есть ли расширение или дополнение для Firefox или Chrome, которые позволят мне просматривать все мои переменные сеанса PHP так, как есть расширения, которые позволяют просматривать файлы cookie?

Куки-файлы доступны на стороне клиента, поэтому их можно увидеть в браузере.

С другой стороны, данные сеанса хранятся на сервере и никогда не отправляются клиенту (за исключением того, что вы, конечно, пишете какой-то код) .

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

Если вы не хотите загрязнять HTML-страницу своей страницы, вы можете установить расширение FirePHP в FireBug и использовать соответствующую библиотеку PHP для отправки данных (например, дампа переменных) .
Это позволит отображать ваши переменные, такие как $_SESSION , в консоли Firebug.

Переменные сеанса PHP хранятся на сервере и недоступны для клиента.

Нет. Данные сеанса являются серверными, а файлы cookie – клиентскими. Файл cookie сеанса содержит идентификатор сеанса, который использует сервер (т. Е. PHP) для получения правильных данных сеанса.

Невозможно просмотреть данные сеанса без удаленного доступа к серверу или использовать сценарий (который находится на сервере).

Вот почему рекомендуется хранить «чувствительную» информацию в сеансе вместо файлов cookie, потому что ее нельзя легко проконсультироваться / изменить.

Нет. Переменные сеанса хранятся на сервере. Единственное, что будет видно в Firefox, это идентификатор сеанса, хранящийся в cookie сеанса (например, PHP_SESS_ID=randomgarbage ).

Вам придется явно написать сценарий, который будет выгружать переменные сеанса, что-то просто:

dumpsession.php:

 <pre> <?php var_dump($_SESSION); 

Чтобы получить что-то из сеанса ma, вы можете использовать var_dump, я не запрещаю браузеру ограничения безопасности. http://php.net/manual/en/function.var-dump.php

Вы можете использовать: Print_r ($ _SESSION);

У меня был этот простой скрипт, который показывает переменные $ _SESSION.

  <?php error_reporting(E_ALL); session_start(); if (isset($_POST['session'])) { $session = eval("return {$_POST['session']};"); if (is_array($session)) { $_SESSION = $session; header("Location: {$_SERVER['PHP_SELF']}?saved"); } else { header("Location: {$_SERVER['PHP_SELF']}?error"); } } $session = htmlentities(var_export($_SESSION, true)); ?> <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Session Variable Management</title> <style> textarea { font: 12px Consolas, Monaco, monospace; padding: 2px; border: 1px solid #444444; width: 99%; } .saved, .error { border: 1px solid #509151; background: #DDF0DD; padding: 2px; } .error { border-color: #915050; background: #F0DDDD; } </style> </head> <body> <h1>Session Variable Management</h1> <?php if (isset($_GET['saved'])) { ?> <p class="saved">The session was saved successfully.</p> <?php } else if (isset($_GET['error'])) { ?> <p class="error">The session variable did not parse correctly.</p> <?php } ?> <form method="post"> <textarea name="session" rows="<?php echo count(preg_split("/\n|\r/", $session)); ?>"><?php echo $session; ?></textarea> <input type="submit" value="Update Session"> </form> </body> </html> 

Установите его на тестовый сервер, назовите его «sess.php» или что-то в этом роде, и он отобразит текущий сеанс. НЕ ОСТАВЛЯЙТЕ ЭТО ПО ПРОИЗВОДСТВУ ПРОДУКЦИИ !!!