web-dev-qa-db-fra.com

où la session enregistre-t-elle?

Je voudrais savoir où PHP sont enregistrées; est-ce dans le navigateur client? Ou sur le serveur?

Lorsque je désactive les cookies dans les paramètres de mon navigateur, PHP ne peut pas enregistrer les données de session, mais dans php.ini, Je peux changer le chemin d'enregistrement de la session.

Les données de session sont-elles stockées sur le serveur ou le navigateur client?

39
Moein Hosseini

La session données que vous lisez et écrivez à l'aide de $_SESSION est stocké côté serveur, généralement dans des fichiers texte dans un répertoire temporaire. Ils ne sont pas accessibles de l'extérieur.

La chose qui relie une session à un navigateur client est la session ID , qui est généralement stockée dans un cookie (voir les commentaires pour les exceptions à cette règle). Cet ID est, et devrait être, la seule chose de votre session qui est stockée côté client.

Si vous supprimez le cookie dans le navigateur, la connexion à cette session est perdue, même si le fichier sur le serveur continue d'exister pendant un certain temps.

Le session.save_path la variable influence l'emplacement sur le serveur où les données de session sont stockées. Si vous n'êtes pas l'administrateur du serveur, il n'est généralement pas nécessaire de le modifier.

75
Pekka 웃

C'est les deux! Une session enregistre les informations de session réelles sur le serveur, mais donne un cookie d'identification au client pour savoir quelle session appartient à quel client. Les informations contenues dans le cookie lui-même ne valent rien, mais permettent au serveur d'identifier le client et d'utiliser les informations de session réelles.

11
deceze

Blockquote "Les données de session sont-elles stockées sur le serveur ou le navigateur client?"

Cela me fait penser à un système de voiturier. Le voiturier (serveur) garde votre voiture (données de session), mais il/elle vous donne un ticket (identifiant de session) à accrocher qui prouve que la voiture est à vous lorsque vous en avez besoin. Si vous perdez votre ticket (en supprimant votre cache, ou en fermant le navigateur), votre voiture (données de session) est à la hauteur car vous ne pouvez plus prouver que c'est votre voiture.

D'accord, c'est juste une analogie ... et tombe rapidement en panne. Par exemple. vous ne possédez pas réellement vos informations de session comme vous le faites avec votre voiture. Et vous ne pouvez pas le chasser.

5
Ben

Les deux, la session dans le client (navigateur) est enregistrée en tant que cookie. Ce cookie fait référence à une session qui réside également sur le serveur.

4
Nick Weaver

Il est stocké côté serveur pour maintenir la sécurité; mais des cookies supplémentaires pourraient également être stockés côté client.

1
user3448362