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

Vous pouvez également définir le délai d'expiration des cookies d'une autre manière. Cela peut être plus simple que d'utiliser les secondes.

<?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.

Dans l'exemple suivant, nous récupérons la valeur du cookie nommé "user" et l'affichons sur la page :

                                                                                                   _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 :

En raison de restrictions de protocole, aucun contenu ne peut être envoyé au navigateur avant que le cookie ne soit défini

Le cookie ne prendra pas effet sur l'ensemble de pages en cours Pour accéder au cookie défini, une autre page doit être visitée avant son expiration.

É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 à 30

Les navigateurs ont également des restrictions sur la taille des cookies, qui ne peuvent généralement pas dépasser 4K

Problè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

.
Formation continue
||
<?php setcookie("user", "php", time()+3600); ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel