Maison développement back-end tutoriel php Contrôle de session PHP Cookie et session

Contrôle de session PHP Cookie et session

Nov 14, 2017 pm 02:26 PM
cookie php session

Contrôle de session PHP : Session et Cookie explication détaillée, session cookie

1. contrôle

HTTP est un protocole sans état Il n'a pas de mécanisme intégré pour maintenir l'état entre deux transactions. Lorsqu'un utilisateur demande une page puis en demande une autre, HTTP n'a aucun moyen de nous dire que les deux demandes proviennent du même utilisateur.

L'idée du contrôle de session est de pouvoir suivre les utilisateurs en fonction d'une session sur le site Web, afin qu'il puisse facilement prendre en charge la connexion des utilisateurs et afficher le contenu correspondant en fonction de leur niveau d'autorisation et de leurs préférences personnelles. peut Ce comportement d'utilisateur est enregistré sur la base du contrôle de session et un panier d'achat peut également être mis en œuvre.

2. Comprendre les fonctions de base de la session

Les sessions PHP sont pilotées par un identifiant de session unique, qui est un nombre aléatoire crypté. Il est généré par PHP et sera enregistré sur le client pendant le cycle de vie de la session. Il peut être enregistré dans un cookie sur la machine de l'utilisateur ou transmis sur le réseau via l'URL.

L'ID de session est comme une clé, qui nous permet d'enregistrer certaines variables spécifiques, qui deviennent également des variables de session. Le contenu de ces variables sera enregistré côté serveur. L'ID de session est la seule information visible par le client. Si le client peut voir l'ID de session via un cookie ou une URL lors d'un lien de site Web spécifique, nous pouvons alors accéder aux variables de session enregistrées sur le serveur pour cette session. Par défaut, les variables de session sont enregistrées dans des fichiers ordinaires sur le serveur.

Enregistrez l'ID de session dans l'URL. S'il y a une chaîne de nombres aléatoires dans l'URL, il peut s'agir d'une forme de contrôle de session.

Les cookies sont une solution différente des sessions et résolvent également le problème du maintien de l'état sur plusieurs transactions tout en conservant une URL propre.

Processus de contrôle de session : lorsqu'un utilisateur se connecte ou parcourt une page d'un site pour la première fois, le site génère un identifiant de session PHP et l'envoie au client (navigateur) via un cookie. Lorsque l'utilisateur clique sur une autre page du site, le navigateur commence à se connecter à cette URL. Avant de se connecter, le navigateur recherchera d'abord les cookies enregistrés localement, et s'il existe des cookies liés à l'URL connectée, ils seront soumis au serveur. Juste lors de la connexion ou de la première connexion, un cookie lié à l'URL du site Web (ID de session enregistré) a été généré, ainsi lorsque l'utilisateur se reconnecte à ce site, le site peut identifier l'utilisateur grâce à cet ID de session. La variable de session liée à cet ID de session est récupérée du fichier de session du serveur pour maintenir la continuité entre les transactions.

3. Que sont les cookies

Les cookies sont créés côté serveur et réécrits dans le navigateur client. Le navigateur reçoit les instructions concernant l'écriture des cookies dans l'en-tête de réponse et les stocke dans un fichier local. fichier temporaire. Un fichier cookie est créé, qui stocke le contenu de votre cookie. Le contenu du cookie est stocké dans des paires clé-valeur, et la clé et la valeur ne peuvent être que des chaînes.

Un cookie est en fait une petite information qui peut être enregistrée sur la machine client par un script. Un cookie peut être installé sur la machine client en envoyant un en-tête HTTP contenant des données spécifiques au format suivant :

Set-Cookie : NAME = VALUE; [expires=DATE;] [path=PATH ] [domaine; =DOAMIN_NAME;] [secure]

Cela créera un cookie nommé NAME avec une valeur de VALUE. À l'exception de ce paramètre, tous les autres paramètres sont facultatifs. Le champ expire définit la date d'expiration du cookie (si la date d'expiration n'est pas définie, elle sera valide pour toujours à moins qu'elle ne soit supprimée manuellement). Les champs de chemin et de domaine sont combinés pour formuler une URL ou une URL liée aux cookies. Le mot clé secure signifie que les cookies ne sont pas activés dans les connexions HTTP ordinaires.

Lorsque le navigateur se connecte à une URL, il recherche d'abord les cookies enregistrés localement. S'il existe des cookies associés à l'URL connectée, le navigateur les soumet au serveur.


4. Qu'est-ce que la session

La session est un espace de stockage côté serveur maintenu par le serveur d'applications. Lorsque l'utilisateur se connecte au serveur, un ID de session unique sera créé et généré par le serveur. L'ID de session est utilisé comme identifiant pour accéder au serveur. -side Espace de stockage de session. Pendant la session, l'ID de session unique attribué au client, utilisé pour identifier l'utilisateur actuel et le distinguer des autres utilisateurs. Acceptez chaque demande d'accès via SessionID pour identifier l'utilisateur actuel, suivre et conserver les informations spécifiques de l'utilisateur et les variables de session, qui peuvent stocker des informations numériques ou textuelles dans la session. Par exemple, nom_session. Ces informations sont enregistrées côté serveur. Bien entendu, l'ID de session peut également être enregistré dans la base de données en tant qu'informations de session pour la persistance de la session. Cela peut suivre le nombre de connexions d'utilisateurs, en ligne ou non, le temps de connexion, etc., maintenant ainsi la relation entre les éléments HTTP sans état. Le stockage du contenu de la session est une liste de paires clé-valeur, et la clé est un type de chaîne. Le stockage de la session est plus pratique et la valeur peut être un objet.

Pendant la session, la session sera enregistrée dans deux fichiers respectivement sur le client et le serveur. Le client peut enregistrer l'ID de session en mode cookie (la méthode de sauvegarde par défaut) ou le transmettre sous la forme d'une chaîne d'URL. . Le côté serveur est généralement enregistré dans le répertoire de session spécifié sous forme de texte. Côté serveur, nous pouvons contrôler la méthode de stockage utilisée par le client via session.use_cookies. S'il est défini comme méthode de stockage de cookies, nous pouvons contrôler la durée de validité du cookie stocké sur le client via session.cookie_lifetime (valeur par défaut 0, effacée à la fermeture du navigateur). Si le client utilise un cookie pour enregistrer l'ID de session, utilisez un cookie "temporaire" pour l'enregistrer (le nom du cookie est PHPSESSID. Vous pouvez obtenir des informations détaillées via Firebug. Vous pouvez modifier le nom via php.ini session.name ), lorsque l'utilisateur soumet la page, ce SessionID sera soumis au serveur pour accéder aux données de session. Ce processus ne nécessite pas l'intervention du développeur.

5. Différences et connexions entre SESSION et COOKIE

Points similaires : Les deux peuvent résoudre le problème de l'apatridie HTTP, afin que le même client puisse enregistrer des données lors de plusieurs demandes de visite du site Web. définir des informations et établir des connexions entre les éléments demandés.

Différence : en termes simples, les informations sur les cookies sont stockées côté client et les informations de session sont stockées côté serveur.

La session utilise des paires clé-valeur, ce qui signifie que l'ID est stocké côté client et la valeur est placée côté serveur. L'ID de l'utilisateur est utilisé pour trouver la valeur correspondante sur le serveur. de cette façon, la valeur est placée côté serveur. Il y a une limite de temps et le serveur la recyclera/libérera automatiquement lorsque le temps sera écoulé.

Les cookies ont deux méthodes. L'une consiste à enregistrer la valeur dans la variable du navigateur et à se terminer à la fermeture du navigateur. L'autre méthode consiste à l'enregistrer sur le disque dur tant que le délai n'expire pas. Suivant Peut être réutilisé.

Contact : Lorsque le client utilise le SessionID enregistré selon la méthode du cookie, le SessionID est généralement enregistré dans le cookie.

Remarque : les cookies sont partagés entre les navigateurs dotés du même cœur. Les navigateurs dotés de cœurs différents ne sont pas partagés, comme Firefox et IE (les emplacements de stockage sont différents, et bien sûr ils ne sont pas partagés). Les navigateurs dotés de noyaux différents ne peuvent pas partager de cookies et généreront également des identifiants de session différents.

Ce qui précède est une explication détaillée du contrôle de session PHP. J'espère que cela vous sera utile.

Recommandations associées :

Contrôle de session PHP : Explication détaillée de la session et du cookie, sessioncookie

Contrôle de session php, session php

Introduction détaillée à l'exemple de code du contrôle de session php

Cookie de contrôle de session php et tutoriel Traitement de session_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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles