Voir les variables de session php

Je ne sais pas si cela appartient à ici ou à webapps... veuillez déplacer le cas échéant.

Je ne sais même pas si une telle chose est possible, mais y a-t-il une extension ou un add-on pour Firefox ou Chrome qui me permettrait de voir toutes mes variables de session PHP de la même façon qu'il y a des extensions qui vous permettent de voir des cookies?

29
demandé sur Gordon 2011-03-21 23:31:10

7 réponses

les Cookies sont disponibles sur le côté client, de sorte qu'ils peuvent être vus à partir du navigateur.



D'autre part, les données de session sont stockées sur le serveur, et jamais envoyé au client (à l'exception de vous écrire un peu de code pour le faire, bien sûr).

vider le contenu d'une variable, comme $_SESSION, vous pouvez utiliser le var_dump() fonction.

Sur un serveur de développement, vous pouvez installer le Xdebug extension pour améliorer considérablement sa sortie (et beaucoup d'autres débogage, btw).

si vous ne voulez pas polluer le HTML de votre page, vous pouvez installer le FirePHP extension à FireBug, et utiliser la bibliothèque PHP correspondante pour envoyer des données (comme le vidage de variables).

Cela permettrait à vos variables, comme $_SESSION affichage la console de firebugs.

53
répondu Pascal MARTIN 2011-03-21 20:34:15

les variables de session PHP sont stockées sur le serveur et sont inaccessibles au client.

6
répondu Nick 2011-03-21 20:33:17

Non. Les données de Session sont Côté Serveur, tandis que les cookies sont côté client. Le cookie de session contient l'identifiant de session, que le serveur (i.e.: PHP) utilise pour récupérer les données de session appropriées.

il n'est pas possible de visualiser les données de session sans accès à distance au serveur, ou en utilisant un script (qui réside sur le serveur).

C'est pourquoi il est recommandé de stocker les informations "sensibles" dans la session au lieu des cookies, car ils ne peuvent pas être consultés/modifiés facilement.

3
répondu netcoder 2011-03-21 20:35:28

Non. Les variables de Session sont stockées sur le serveur. La seule chose qui serait visible dans Firefox est L'ID de la session, stocké dans le cookie de session (par exemple PHP_SESS_ID=randomgarbage).

il faudrait écrire explicitement un script qui viderait les variables de session, quelque chose d'aussi simple que:

dumpsession.php:

<pre>
<?php
    var_dump($_SESSION);
1
répondu Marc B 2011-03-21 20:34:06

pour accéder à quelque chose depuis la session, vous pouvez utiliser var_dump, Je ne suis pas le navigateur à cause des restrictions de sécurité. http://php.net/manual/en/function.var-dump.php

0
répondu Cninroh 2011-03-21 20:32:28

Vous pouvez utiliser: Print_r ($_SESSION);

0
répondu Mihai Nedelcovici 2013-01-15 14:14:29

j'avais ce script simple qui montre les variables $_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>

l'Installer sur un serveur de test, le nom "sess.php" ou quelque chose comme ça, et il montre la session actuelle. NE LE LAISSEZ PAS SUR UN SERVEUR DE PRODUCTION !!!

0
répondu Louis 2015-06-18 11:13:47