Maison > développement back-end > Problème PHP > Quelle est la différence entre cookie et session en php

Quelle est la différence entre cookie et session en php

青灯夜游
Libérer: 2023-03-14 09:42:01
original
5710 Les gens l'ont consulté

Différence : 1. Les cookies sont stockés dans le navigateur, ce qui est relativement dangereux, tandis que les sessions sont stockées dans le serveur, ce qui est relativement plus sûr. 2. Les données stockées par les cookies sont soumises à des restrictions de quantité et de taille, mais pas les sessions. 3. Les données enregistrées par cookie sont de type chaîne et les données enregistrées par session sont de type objet.

Quelle est la différence entre cookie et session en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Que ce soit dans l'exploitation et la maintenance du système ou dans les entretiens avec des développeurs PHP, on nous interroge souvent sur le rôle de Session et Cookie en PHP la différence ? Résumons-le ci-dessous :

Les cookies sont uniquement générés, gérés et utilisés par le client. PHP émet uniquement des instructions demandant au client comment générer les cookies, quand expirer, etc., mais le client ne suit pas nécessairement les instructions de PHP.

Les cookies ne sont pas très sûrs. Les criminels peuvent usurper les cookies en analysant les cookies locaux. Compte tenu des problèmes de sécurité, il est recommandé de stocker les informations utilisateur importantes dans la session, et d'autres informations sans importance qui doivent être conservées peuvent être stockées dans des cookies.

La session est la session à partir du moment où l'utilisateur accède à un site Web jusqu'à la fermeture du navigateur. Elle est stockée sur le disque du serveur sous la forme d'un fichier par défaut. Par conséquent, définir trop de sessions affectera les performances du disque. utilisez également le moteur de mémoire pour le stocker dans MySQL car le moteur de mémoire a des vitesses de lecture et d'écriture rapides. Vous pouvez désormais également spécifier d'utiliser Redis pour traiter la session, ce qui est plus rapide et plus efficace.

Le mécanisme de récupération de session est passif. De manière générale, une fois le navigateur fermé, la session sera automatiquement récupérée par PHP. Cependant, parfois même si le délai d'expiration est défini et que le navigateur est fermé, la session peut ne pas être supprimée, tels que la définition de plusieurs répertoires et de plusieurs lors de l'enregistrement hiérarchique de la session, vous devez supprimer manuellement la session via un script PHP.

Habituellement, les cookies et les sessions sont liés, c'est-à-dire que lorsque l'utilisateur ne désactive pas les cookies, le cookie enregistrera généralement l'ID de session et le cycle de vie de la session. Si l'utilisateur supprime le cookie, il quittera généralement le système ; ne désactive pas les cookies et ferme la session du navigateur, la session sera également fermée immédiatement. En cas d'échec, vous devez vous reconnecter au système.

Les cookies et les sessions sont généralement utilisés pour identifier les utilisateurs, authentifier les autorisations, stocker des données simples et utiliser des cookies pour obtenir une authentification unique.

Les données stockées par les cookies auront des restrictions différentes selon les navigateurs. Généralement, sous le même nom de domaine, le nombre de variables de cookies est contrôlé dans la limite de 20 et la taille de la valeur de chaque cookie est contrôlée dans la limite de 4 Ko. Il n'y a pas de limite sur la taille ou le nombre de valeurs de session, mais s'il y en a trop, cela augmentera la pression sur le serveur. De plus, le contenu enregistré par Cookie est une chaîne, tandis que les données enregistrées par Session sont un objet.

La session ne peut pas distinguer les chemins. Lors de la visite d'un même utilisateur sur un site Web, toutes les sessions sont accessibles n'importe où ; et si les paramètres de chemin sont définis dans les cookies, les cookies situés sous différents chemins dans le même site Web ne peuvent pas interagir les uns avec les autres.

La différence entre COOKIE et SESSION

(1) Emplacement de stockage : les cookies sont stockés dans le navigateur client, ce qui est relativement dangereux ; le fichier contenant le contenu de la session est stocké sur le serveur, généralement dans le dossier tmp sous le répertoire racine. Relativement plus sûr.

(2) Restrictions de quantité et de taille : Les données stockées par les cookies auront des restrictions différentes selon les navigateurs. Généralement, sous le même nom de domaine, le nombre de variables de cookie est contrôlé dans la limite de 20 et la taille de chaque valeur de cookie est contrôlée. dans les 4 Ko. Il n'y a pas de limite sur la taille ou le nombre de valeurs de session, mais s'il y en a trop, cela augmentera la pression sur le serveur.

(3) Différence de contenu : Le contenu enregistré par le cookie est une chaîne, tandis que les données enregistrées par la session sur le serveur sont un objet.

(4) Différence de chemin : les sessions ne peuvent pas distinguer les chemins lors de la visite d'un même utilisateur sur un site Web, toutes les sessions sont accessibles n'importe où et si le paramètre de chemin est défini dans le cookie, alors différents chemins dans le même site Web sont situés sous les cookies ; chacun est inaccessible l’un à l’autre.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal