Maison  >  Article  >  développement back-end  >  Introduction détaillée aux cookies et aux sessions (images et texte)

Introduction détaillée aux cookies et aux sessions (images et texte)

不言
不言avant
2019-02-15 13:25:193343parcourir

Cet article vous apporte une introduction détaillée (images et textes) sur les cookies et les sessions. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Technologie des cookies

Le cookie est une technologie côté navigateur qui peut enregistrer des données sur le navigateur ! Cookie fait référence aux données enregistrées sur le navigateur !

PHP prend en charge la technologie des cookies ! PHP peut émettre des instructions au navigateur pour enregistrer des données dans le navigateur !

Le navigateur est responsable de la sauvegarde des données, et php est responsable du contrôle des données enregistrées par le navigateur ! (php utilise la technologie des cookies sur le navigateur)

Les données des cookies enregistrées sur le navigateur peuvent transporter les données et faire une demande au serveur à chaque fois que le navigateur demande au serveur. À ce moment, le script sur le serveur peut. obtenez ces données!

Utilisation de base

Définir les variables des cookies, ajouter, modifier, supprimer

Utiliser les fonctions internes setcookie Compléter

Formulaire : setcookie(name, value)

Obtenir la variable de cookie, lire

Utiliser la variable de tableau prédéfinie :$_COOKIE

Cette variable stocke toutes les données des cookies transportées lors de la demande depuis le navigateur !

Chaque élément est une donnée variable de cookie ! L'indice est le nom, la valeur est la valeur !

Principe de base

Utiliser l'onglet réseau de Firebug :

Qu'avez-vous fait lors de sa configuration ?

En réponse, le serveur envoie une instruction pour ajouter une variable cookie au navigateur !

Après avoir reçu l'instruction, le navigateur ajoute des données de cookie au navigateur !

Une fois obtenu, faire quoi ?

Le navigateur transportera tous les cookies du site actuel vers le serveur sur demande !

php obtiendra automatiquement le cookie porté par le navigateur et formera un tableau $_COOKIE, qui pourra être utilisé par les scripts utilisateur !

Utilisation avancée

1. Les données des cookies ne peuvent être que des données de chaîne !

2.fonction setcookie, vous pouvez ajouter, modifier et supprimer !

S'il n'existe pas, ajoutez-le ; s'il existe, modifiez-le !

La suppression peut être effectuée en laissant la valeur vide !

3. Période d'expiration des variables des cookies

Les données des cookies ont la notion de période de validité :

Par défaut , cookies temporaires. Il sera enregistré jusqu'à la fermeture du navigateur !

En même temps, il prend en charge l'ajout du troisième paramètre de setcookie pour modifier la période de validité des variables des cookies. La durée de validité est exprimée sous forme d’horodatage, indiquant à quel moment elle expirera !

PHP peut obtenir l'horodatage actuel via la fonction time(), et time() augmente la durée du cookie par incréments !

A ce moment, le serveur émettra les instructions suivantes au navigateur :

Sur le réseau, heure est exprimé en temps moyen de Greenwich ! Cette fois-là sans la notion de fuseaux horaires ! GMT

Le navigateur connaît la durée de validité de la variable cookie !

Opérations couramment utilisées :

1 .Cookie a la notion de chemin valide

La variable cookie ne prendra effet que dans le répertoire courant et ses répertoires descendants !

Paramètre sous test/, vous pouvez accéder sous test/sub/

À l'inverse :

C'est à cause du cookie :

Vous pouvez modifier le chemin effectif des données du cookie :

Faites-le via le quatrième paramètre de setcookie Modification :

/ signifie que le répertoire racine du site est valide ! Valable sur tout le site !

5. La notion de nom de sous-domaine cookie

Les cookies distinguent strictement le domaine noms.

prend en charge le partage entre sous-domaines :

Utilisez le cinquième paramètre pour définir

Période de validité, chemin valide, sous-domaine valide !

6. $_COOKIE ne peut pas capturer la variable de cookie définie par le script actuel !

$_COOKIE c'est tous les cookies portés par le navigateur lors de la requête !

Les paramètres actuels seront utilisés la prochaine fois que vous en ferez la demande !

technologie de session, technologie de session

Scénario :

Problème de cookie

Étant donné que les données elles-mêmes se trouvent du côté du navigateur :

Problèmes de sécurité des données !

Les données doivent toujours être portées lors de la demande !

Comment résoudre ce problème ? Faites attention au partage de données entre plusieurs requêtes du navigateur !

Mettez les données côté serveur, et en même temps distinguez les données du navigateur, et partagez les données entre plusieurs requêtes du navigateur !

Sur le serveur, ajoutez un espace de données pour chaque navigateur visité, puis attribuez différents identifiants uniques à ces espaces de données ! Attribuez un identifiant unique à chaque navigateur. L'identifiant de l'espace de base de données côté serveur doit correspondre un à un aux exigences

Le navigateur porte l'identifiant à chaque fois qu'il fait une demande. le serveur peut obtenir l'identifiant et utiliser l'identifiant. L'espace de données est déterminé, mais tous les traitements de données demandés sont terminés dans l'espace actuellement déterminé !

L'identifiant unique attribué par le serveur au navigateur est stocké dans le cookie du navigateur, ce qui garantit que le navigateur l'emporte à chaque fois qu'il apparaît !

Le serveur détermine l'identité à chaque nouvel accès au navigateur (navigateur sans identification), et génère un espace de données unique sur le serveur !

Utilisez essentiellement

pour faire fonctionner directement le tableau $_SESSION afin de terminer le stockage et la récupération des données de session !

Chaque donnée de session correspond à un élément dans $_SESSION ! Opérer sur des éléments, c’est opérer sur des données de session !

Cependant, la technologie de session, y compris la génération d'identifiants de session, l'ouverture de l'espace de données de session, l'attribution d'identifiants de session aux navigateurs, etc., nécessitent toutes la prise en charge du mécanisme de session PHP !

Par conséquent, vous devez d'abord activer la prise en charge de la session avant de pouvoir utiliser la variable $_SESSION pour exploiter les données de session !

Ouvert :

session_start();

Opération :

$_SESSION;

Ouvrir d'abord puis opérer :

Mettre à jour et supprimer :

Principe de base

L'ID de session enregistré dans le cookie côté navigateur :

Lorsque le navigateur actuel fait une requête au serveur pour la première fois, le serveur ne peut pas déterminer le identité du navigateur

Un identifiant unique sera régénéré et enregistré dans le navigateur sous forme de cookie !

Le nom de la variable cookie par défaut est : PHPSESSID.

Ce scalaire de cookie est également appelé sessionID !

Lorsque le navigateur dispose de la variable cookie sessionid, les requêtes suivantes porteront cet identifiant pour effectuer des requêtes :

Le côté serveur est l'espace de données de session

Par défaut, php générera un fichier pour enregistrer l'espace de données de session ! Utilisez le nom du fichier pour distinguer à quel ID il appartient !

Par défaut, il est enregistré dans le répertoire temporaire du système d'exploitation du serveur :

Processus approximatif :

Test :

Utiliser la session pour terminer la vérification de l'identifiant de connexion :

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer