Maison  >  Article  >  développement back-end  >  Introduction au contrôle de session dans les entretiens PHP

Introduction au contrôle de session dans les entretiens PHP

不言
不言avant
2019-02-25 09:34:084017parcourir

Cet article vous apporte une introduction au contrôle de session dans les entretiens PHP. 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.

1. Session

La session PHP est également appelée Session. Lorsque PHP exploite Session, le serveur attribuera un SessionID au client lorsque l'utilisateur se connectera ou visitera certaines pages initiales. SessionID est un nombre aléatoire crypté enregistré sur le client pendant le cycle de vie de la session. Elles peuvent être stockées dans un cookie sur la machine de l'utilisateur ou transmises sur le réseau via une URL.

Les utilisateurs peuvent enregistrer certaines variables spéciales via SessionID, appelées variables de session, et les données de ces variables sont enregistrées côté serveur. Dans une connexion à un site Web spécifique, si le client peut trouver l'ID de session via un cookie ou une URL, le serveur peut alors accéder à la variable de session enregistrée côté serveur en fonction de l'ID de session transmis par le client.

Le cycle de vie de la session n'est valable que dans le cadre d'une connexion spécifique à un site Web. Lorsque le navigateur est fermé, la session expirera automatiquement et les variables de session précédemment enregistrées ne pourront plus être utilisées. Les étapes d'utilisation spécifiques sont les suivantes :

1) Initialisez la session. La session doit être initialisée avant d'implémenter la fonction session. Utilisez la fonction session_start() pour initialiser la session.

bool session_start(void)

Cette fonction vérifiera si le SessionID existe, sinon, en créera un et pourra y accéder en utilisant le tableau prédéfini $_SESSION. Si la session est démarrée avec succès, la fonction renvoie VRAI, sinon elle renvoie FAUX. Une fois la session démarrée, les variables de session qui ont été enregistrées pour la session peuvent être chargées pour être utilisées.
2) Enregistrez les variables de session. Depuis PHP 4.1, les variables de session sont stockées dans le tableau prédéfini $_SESSION, vous pouvez donc définir une variable de session en définissant directement l'unité du tableau. Le format est le suivant :

$_SESSION["键名"]="值";

Une fois la variable de session définie. , elle est enregistrée dans Sur le serveur, la valeur de cette variable est suivie jusqu'à la fin de la session ou jusqu'à ce que la variable soit déconnectée manuellement.
3) Accédez aux variables de session. Pour accéder aux variables de session dans un script, démarrez d'abord une session à l'aide de la fonction session_start(). Vous pouvez ensuite accéder à la variable à l'aide du tableau $_SESSION.
4) Détruisez les variables de session. Une fois les variables de session utilisées, supprimez les variables de session enregistrées pour réduire l'occupation des ressources du serveur. Pour supprimer des variables de session, utilisez la fonction unset(). Le format de syntaxe est le suivant :

void unset(mixed $var [, mixed $var [, $... ]])

Description : $var est la variable à détruire, et une ou plusieurs variables peuvent être détruites. Pour détruire toutes les variables de session en même temps, utilisez session_unset();.
5) Détruisez la session. Après avoir utilisé une session, déconnectez-vous de la variable de session correspondante, puis appelez la fonction session_destroy() pour détruire la session. Le format de syntaxe est le suivant :

bool session_destroy ( void )

Cette fonction supprimera toutes les données de la session. et effacez le SessionID et fermez la session.

2. Cookies

Les cookies peuvent être utilisés pour stocker des informations telles que le nom d'utilisateur, le mot de passe, le nombre de visites sur le site, etc. Lors de la visite d'un site Web, le cookie envoie une petite information de la page Web HTML au navigateur et l'enregistre sur l'ordinateur du client sous la forme d'un script.

De manière générale, les cookies sont renvoyés du serveur au navigateur via les en-têtes HTTP. Tout d’abord, le serveur utilise Set Cookie Header dans la réponse pour créer un cookie. Le navigateur inclut ensuite le cookie créé dans la demande via l'en-tête de cookie et le renvoie au serveur pour terminer la vérification du navigateur.

La technologie des cookies présente de nombreuses limites, telles que :
1) Lorsque plusieurs personnes partagent un ordinateur, les données des cookies sont facilement divulguées.
2) Les informations des cookies stockées par un site sont limitées.
3) Certains navigateurs ne prennent pas en charge les cookies.
4) Les utilisateurs peuvent désactiver les cookies en configurant les options du navigateur.
C'est précisément en raison des limitations des cookies ci-dessus que lors de la gestion de session, SessionID est généralement enregistré de deux manières : Cookie et URL, au lieu d'être uniquement enregistré dans Cookie.

Plus précisément, les étapes pour utiliser Cookie sont les suivantes :
1) Créer un cookie. Utilisez la fonction setcookie() pour créer un cookie en PHP. Le format de syntaxe est le suivant :

bool setcookie(string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly ]]]]]])

① $name : Indique le nom du cookie.
② $value : Indique la valeur du cookie. Cette valeur est enregistrée sur le client, ne sauvegardez donc pas de données sensibles.
③ $expire : indique l'heure à laquelle le cookie expire. Il s'agit d'un horodatage UNIX, qui est le nombre de secondes écoulées depuis l'époque UNIX. Le paramètre de $expire est généralement déterminé par l'horodatage actuel plus le nombre de secondes correspondant. Par exemple, time()+1200 signifie que le cookie expirera après 20 minutes. S'il n'est pas défini, le cookie expirera après la fermeture du navigateur.
④ $path : Indique le chemin effectif du cookie sur le serveur. La valeur par défaut est le répertoire actuel dans lequel le cookie est défini.
⑤ $domain : Indique le nom de domaine valide du cookie sur le serveur. Par exemple, pour rendre le cookie valide dans tous les sous-domaines sous le nom de domaine exemple.com, ce paramètre doit être défini sur « .example.com ».

2) Accédez aux cookies. Les cookies créés via la fonction setcookie() sont stockés dans la variable prédéfinie $_COOKIE en tant qu'unités d'un tableau. En d'autres termes, les cookies peuvent également être créés en attribuant directement des valeurs à l'unité du tableau $_COOKIE. Cependant, les cookies créés par le tableau $_COOKIE expireront après la fin de la session.

3)删除Cookie。Cookie在创建时指定了一个过期时间,如果到了过期时间,那么Cookie将自动被删除。在PHP中没有专门删除Cookie的函数。如果为了安全方面的考虑,在Cookie过期之前就想删除Cookie,那么可以使用setcookie()函数或$_COOKIE数组将已知Cookie的值设为空。
示例代码如下:

<?php
    $_COOKIE["user"]="administrator";
    setcookie("password","123456",time()+3600);
    $_COOKIE["user"]="";                    //使用$_COOKIE清除Cookie
    setcookie("password","");                //使用setcookie()函数清除Cookie
    print_r($_COOKIE);                    //输出:Array ( [user] => )
?>

Cookie和Session都是用来实现会话机制的,由于HTTP协议是无状态的,所以要想跟踪一个用户在同一个网站之间不同页面的状态,需要有一个机制,称为会话机制。

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