L'article précédent vous présentait "Pourquoi PHP a-t-il des problèmes de sécurité ? Quelle est l’essence et les trois éléments des problèmes de sécurité ? 》, cet article continuera à vous présenter ce qu'est cookie.session Quelle est la différence entre eux ? Étudions ensemble ! ! !
Que sont les cookies et les sessions ?
Cookie : un cookie déposé sur l'utilisateur side - Un petit morceau de texte, une technique utilisée par le serveur pour identifier l'utilisateur.
session : basée sur des cookies, mais les données ne sont pas stockées sur le client, mais sur le serveur. Le client ne stocke qu'un identifiant, également appelé identifiant de session. cette session .id pour trouver les informations de l'utilisateur.
Nous comprenons que le protocole http est un protocole sans état lorsque nous parcourons le site Web, comment le backend connaît-il les informations côté utilisateur ? Par conséquent, nous pouvons utiliser les deux méthodes ci-dessus (cookie, session)
Quelle est la différence entre cookie et session ?
Plus précisément, le mécanisme de cookie utilise une solution qui maintient l'état côté client, tandis que le mécanisme de session utilise une solution qui maintient l'état côté serveur. En même temps, nous voyons également cela dû. à l'utilisation de la persistance côté serveur La solution d'état doit également enregistrer une identité côté client, de sorte que le mécanisme de session devra peut-être utiliser le mécanisme de cookie pour atteindre l'objectif de sauvegarder l'identité, mais en fait il a d'autres options.
Mécanisme de cookie. La distribution orthodoxe des cookies se fait par extension Implémenté par le protocole HTTP, le serveur ajoute une ligne d'instructions spéciale à l'en-tête de réponse HTTP pour inviter le navigateur à générer le cookie correspondant selon les instructions. Les scripts latéraux tels que JavaScript ou VBScript peuvent également générer des cookies. L'utilisation de cookies Il est automatiquement envoyé au serveur en arrière-plan par le navigateur selon certains principes. Le navigateur vérifie tous les cookies stockés si la portée déclarée d'un cookie est. supérieur ou égal à la localisation de la ressource à demander, le cookie est attaché à la requête. L'en-tête de requête HTTP de la ressource est envoyé au serveur
Le contenu du cookie comprend principalement : le nom, la valeur, délai d'expiration, chemin et domaine. Le chemin et le domaine constituent ensemble la portée du cookie. Si le délai d'expiration n'est pas défini, cela signifie que la durée de vie du cookie est pendant la session du navigateur. Ce type de cookie dont la durée de vie est pendant la session du navigateur est appelé cookie de session. Les cookies de session ne sont généralement pas stockés sur le disque dur mais en mémoire. Bien entendu, ce comportement n'est pas stipulé dans la spécification. défini, le navigateur enregistrera les cookies sur le disque dur. Après la fermeture et la réouverture du navigateur, ces cookies resteront valables jusqu'à ce que le délai d'expiration défini soit dépassé. Les cookies peuvent être partagés entre différents processus du navigateur, tels que. comme deux fenêtres IE. Pour les cookies stockés en mémoire, différents navigateurs ont des méthodes de traitement différentes
(cookie) code spécifique Par exemple :
<?php //setcookie('tittle','答案很长,我准备用一生的时间来回答,你准备要听了吗?'); echo $_COOKIE['tittle']; ?>
Explication du code :
Définissez d'abord une fonction cookie, vous pouvez utiliser la fonction setcookie, comment la définir après avoir défini la fonction cookie Retirez-le ? Comme le montre le code, nous pouvons utiliser $_cookie[], mais lorsque nous exécutons ce code, le résultat montre qu'un tel titre n'existe pas (le résultat du code est le suivant Lorsque nous commentons setcookie, le code d'exécution). montre que le code que nous avons entré Le résultat, (comme indiqué ci-dessous),
(session) code :
<?php //setcookie( 'title', 'www. php.cn'); //echo $_ COOKIE[ 'title']; // session session_start(); $_SESSION[ 'user'] = array( 'uid'=>1, 'name'=>'张三' , ' age'=>18); echo '<pre class="brush:php;toolbar:false">' ; print_r($_SESSION[ 'user']); ?>
Les résultats du code sont les suivants :
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!