Comment utiliser les cookies dans PHP 7?
L'utilisation de cookies dans PHP 7 implique de tirer parti de la fonction setcookie()
pour envoyer des cookies du serveur au navigateur du client et de les récupérer à l'aide du tableau $_COOKIE
supergloal. La fonction setcookie()
prend plusieurs arguments:
-
name
(requis): le nom du cookie. Cela devrait être une chaîne et devrait idéalement être descriptif. -
value
(requis): La valeur du cookie. Cela peut être une chaîne, un entier ou un booléen; Cependant, il sera traité comme une chaîne. -
expire
(Facultatif): un horodatage UNIX spécifiant le temps d'expiration du cookie. S'il est omis, le cookie sera un cookie de session, ce qui signifie qu'il n'est valable que pour la session actuelle du navigateur et sera supprimé à la fermeture du navigateur. S'il est fourni, le cookie devient persistant. -
path
(facultatif): le chemin du serveur dans lequel le cookie sera disponible. Par défaut est le répertoire actuel. Le réglage sur/
rend le cookie disponible sur l'ensemble du domaine. -
domain
(Facultatif): Le domaine pour lequel le cookie est valide. L'omission de cela signifie que le cookie n'est valable que pour le domaine actuel. Le réglage de ceci permet de partager des cookies entre les sous-domaines. -
secure
(Facultatif): Si défini surtrue
, le cookie ne sera transmis que sur HTTPS. Ceci est crucial pour la sécurité. -
httponly
(facultatif): Si défini surtrue
, le cookie ne sera accessible que via les demandes HTTP, empêchant l'accès via JavaScript. Il s'agit d'une mesure de sécurité vitale pour atténuer les attaques XSS.
Exemple: Définition d'un cookie persistant nommé "Nom d'utilisateur" avec une valeur de "John_Doe" qui expire en un an:
<?php $expire = time() + 31536000; // One year from now setcookie("username", "john_doe", $expire, "/", ".example.com", true, true); ?>
Retrieving La valeur de la sécurité avec la valeur des cookies:
<?php if (isset($_COOKIE["username"])) { echo "Welcome, " . $_COOKIE["username"] . "!"; } ?>
7?
La sécurité est primordiale lors de l'utilisation de cookies. Plusieurs considérations cruciales doivent être abordées:
- https: Utilisez toujours HTTPS lors de la définition et de la récupération des cookies. Cela empêche l'écoute de la valeur du cookie pendant la transmission. L'indicateur
secure
danssetcookie()
est essentiel ici. -
httponly
Flag: La définition de l'indicateurhttponly
empêche JavaScript d'accéder au cookie, atténuant les attaques de scripts croisés (XSS). Il s'agit d'une meilleure pratique de sécurité cruciale. - Attributs de cookies sécurisés: Utiliser les attributs sécurisés de manière appropriée. Comprenez les implications de la définition de l'attribut
SameSite
àStrict
ouLax
pour éviter les attaques CSRF. L'attributSameSite
contrôle si un cookie est envoyé avec des demandes de site transversal. - Encodage de valeur de cookie: codent toujours correctement la valeur du cookie pour éviter les attaques d'injection. Utilisez
urlencode()
ou des fonctions similaires pour désinfecter les entrées avant de les stocker dans un cookie. - Temps d'expiration courts (pour les données sensibles): Pour des informations sensibles, utilisez des temps d'expiration courts pour minimiser l'impact si un cookie est compromis. HTTPS lors de la communication avec votre site Web. Cela empêche les attaques de l'homme au milieu qui pourraient intercepter les cookies.
- Audits de sécurité réguliers: Audit régulièrement votre code et vos pratiques de sécurité pour identifier et traiter les vulnérabilités potentielles.
- Comment puis-je définir et récupérer différents types de cookies (par exemple, les cookies de séance, les cookies persistants) dans PHP 7? Les cookies persistants se trouvent dans le paramètre de la fonction :
cookies de session:
omettez le paramètre expire
ou définissez-le à une époque dans le passé. Ces cookies ne sont valables que pour la durée de la session du navigateur et sont automatiquement supprimés lorsque le navigateur se ferme. setcookie()
cookies persistants: Fournir un horodatage UNIX futur pour le paramètre expire
. Cela fait persister les cookies sur la machine du client jusqu'à ce que la date d'expiration spécifiée.
<?php $expire = time() + 31536000; // One year from now setcookie("username", "john_doe", $expire, "/", ".example.com", true, true); ?>
La récupération des cookies est la même pour les deux types: utilisez l'expiration des cookies et la délétion dans les cookies PHP 7? par le paramètre dans expire
.
<?php if (isset($_COOKIE["username"])) { echo "Welcome, " . $_COOKIE["username"] . "!"; } ?>
Délétion: $_COOKIE
pour supprimer un cookie, définissez sa valeur sur une chaîne vide et définissez le paramètre
). Gardez les autres paramètres (chemin, domaine) cohérents avec la façon dont le cookie a été initialement réglé.
<?php $expire = time() + 31536000; // One year from now setcookie("username", "john_doe", $expire, "/", ".example.com", true, true); ?>
Cela supprime efficacement le cookie du navigateur du client. N'oubliez pas que le navigateur pourrait toujours tenir le cookie pendant une courte période avant de le supprimer, selon ses mécanismes de mise en cache. De plus, s'assurer que le chemin et le domaine correspondent à l'appel d'origine setcookie()
est crucial pour une suppression réussie.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Version Mac de WebStorm
Outils de développement JavaScript utiles

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),