Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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


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

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

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

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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

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

dumpsession.php:

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

Ответ 5

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

Ответ 6

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

Ответ 7

У меня был этот простой script, который показывает переменные $_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" или что-то в этом роде, и он отобразит текущий сеанс. НЕ ОСТАВЛЯЙТЕ ЭТО ПО ПРОИЗВОДСТВУ ПРОДУКЦИИ!!!