Cookie PHP
Les cookies sont souvent utilisés pour identifier les utilisateurs.
Que sont les cookies ?
Le cookie est généré par le serveur et envoyé à l'agent utilisateur (généralement un navigateur). Le navigateur enregistrera la clé/valeur du cookie dans un fichier texte dans un certain répertoire. Ce cookie est envoyé au serveur lorsque le même site Web est demandé (à condition que le navigateur soit configuré pour activer les cookies). Les noms et valeurs des cookies peuvent être définis par le développeur côté serveur, afin que le serveur puisse savoir si l'utilisateur est un utilisateur légitime et s'il doit se reconnecter, etc. Le serveur peut définir ou lire les informations contenues dans Cookies pour maintenir l'état de la session de l'utilisateur avec le serveur.
Remarques :
1. Différents ordinateurs ne peuvent pas partager de cookies
2. Différents navigateurs sur le même ordinateur ne peuvent pas partager de cookies
3. Les cookies ne peuvent pas être partagés. sous le même navigateur et des noms de domaine différents
4. Même sous le même navigateur et le même nom de domaine, les cookies avec des chemins différents ne peuvent pas être partagés
Comment créer des cookies ?
Créez un cookie via la fonction setcookie(), renvoyant VRAI en cas de succès, sinon renvoyant FAUX.
Remarque : La fonction setcookie() doit être placée avant la balise <html>
Syntaxe
setcookie(name, value, expire, path, domain);
Description du paramètre :
Paramètres Description
nom nom du cookie
valeur Facultatif, la valeur du cookie
expire Facultatif, heure d'expiration, format d'horodatage
chemin Facultatif, chemin valide côté serveur, / indique que l'intégralité du nom de domaine est valide, la valeur par défaut est le chemin de la page lorsque le cookie est actuellement défini
domain Facultatif, Nom de domaine valide pour ce cookie
Exemple 1
Dans l'exemple suivant, nous allons créer un cookie nommé "user" et lui attribuer la valeur "php". Nous précisons également que ce cookie expire au bout d'une heure :
<?php setcookie("user", "php", time()+3600); ?>
Lors de l'utilisation d'un cookie, la valeur du cookie sera automatiquement codée en URL et. automatiquement décodé une fois récupéré.
Exemple 2
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?>*30 jours).
Comment récupérer la valeur du Cookie ?
La variable $_COOKIE de PHP est utilisée pour récupérer la valeur du cookie.
_COOKIE);
?>>
Comment supprimer les cookies ?
Vous pouvez supprimer un cookie en réglant le délai d'expiration du cookie à un moment antérieur :
Instance supprimée : <html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
?>
</body>
</html>
Conseils :
Étant donné que les informations des cookies sont stockées dans l'ordinateur de l'utilisateur, il est possible de falsifier des cookies et de provoquer une fraude aux cookies. Généralement, la valeur du cookie peut être cryptée pour empêcher la fraude. Lors de la lecture des cookies, il suffit de décrypter les cookies
Que dois-je faire si le navigateur ne prend pas en charge les cookies ? Si votre application doit gérer des navigateurs qui ne prennent pas en charge les cookies, vous devrez alors utiliser d'autres méthodes pour transmettre des informations entre les pages de votre application. Une solution consiste à transmettre des données via un formulaire (les formulaires et la saisie utilisateur sont traités dans les chapitres précédents de ce didacticiel). Le formulaire suivant soumet la saisie de l'utilisateur à « welcome.php » lorsque l'utilisateur clique sur le bouton « Soumettre » :<?php // 设置 cookie 过期时间为过去 1 小时 setcookie("user", "", time()-3600); ?>Récupérez la valeur dans le fichier « welcome.php », comme suit : :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>
Problèmes de restriction des cookies
De nombreux navigateurs ont des limites sur le nombre de cookies La plupart des navigateurs stipulent le nombre de cookies qu'un site Web peut définir. Il ne peut pas dépasser 50. , et certains navigateurs le limitent même à 30Les navigateurs ont également des restrictions sur la taille des cookies, qui ne peuvent généralement pas dépasser 4KProblèmes de sécurité des cookies
Si vous n'éteignez pas votre ordinateur après avoir surfé sur Internet dans un cybercafé, les autres personnes utilisant votre ordinateur peuvent consulter l'historique de tous les sites Web que vous visitez et le contenu des cookies enregistrés par le site Web si les données importantes (utilisateur. nom, mot de passe, numéro de carte, numéro de téléphone portable, numéro d'identification...) l'enregistrement dans Cookie est un comportement très dangereux.
Par conséquent, les données importantes ne peuvent pas être stockées dans les cookies. Si elles doivent être enregistrées, elles doivent s'appuyer sur le serveur
.