La RFC 6265 introduit l'attribut "Même site" pour les cookies, qui améliore la sécurité des cookies en limitant la falsification de requêtes intersites (CSRF) attaques.
Support PHP :
Pour PHP >= v7.3 :
La fonction setcookie() prend en charge l'attribut "Same Site" via le tableau $options. Les valeurs valides sont :
Pour PHP < v7.3 :
En raison des limitations du noyau PHP, plusieurs solutions de contournement sont disponibles :
Configuration Apache :
Ajoutez la ligne suivante à modifier tous les cookies avec l'attribut "Même site" :
Header always edit Set-Cookie (.*) "; SameSite=Lax"
Configuration Nginx :
Mettre à jour la configuration pour inclure :
proxy_cookie_path / "; secure; HttpOnly; SameSite=strict";
Méthode d'en-tête :
Vous pouvez définir explicitement des cookies à l'aide d'en-têtes :
header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");
Exploiter un bug :
Utiliser un Méthode setcookie() obsolète exploitant un bug :
setcookie('cookie-name', '1', 0, '/; samesite=strict');
Remarque : Ce bug est résolu dans PHP 7.3.
Références :
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!