Cookies PHP : prise en charge de "SameSite=Strict"
Introduction
Avec l'évolution des standards de la sécurité Web, le paramétrage des cookies a suscité une attention considérable. L'une des mises à jour cruciales est l'introduction de l'attribut "SameSite", qui améliore la protection contre la falsification de requêtes intersites (CSRF) et le détournement de session.
Support PHP actuel pour "SameSite=Strict"
À partir de la version 7.3 de PHP, la création de cookies avec l'attribut "SameSite" est entièrement prise en charge. Les développeurs peuvent désormais utiliser le tableau $options pour définir la même valeur de site, permettant ainsi une gestion plus sécurisée des cookies.
Options pour les anciennes versions de PHP
Pour les versions PHP antérieures à 7.3, des solutions alternatives existent pour intégrer l'attribut "SameSite" dans les cookies. Ces approches comprennent :
1. Configuration Apache :
Les utilisateurs d'Apache peuvent ajouter la ligne suivante à leur fichier de configuration pour mettre à jour tous les cookies avec l'indicateur SameSite=Lax :
Header always edit Set-Cookie (.*) "; SameSite=Lax"
2. Configuration Nginx :
Les utilisateurs de Nginx peuvent utiliser la configuration suivante pour obtenir le même résultat :
location / { # your usual config ... # hack, set all cookies to secure, httponly and samesite (strict or lax) proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict"; }
3. Méthode d'en-tête :
Les cookies peuvent être définis directement via la méthode d'en-tête, permettant l'inclusion de l'attribut « SameSite » :
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>
4. Bug de paramétrage des cookies :
Un bug connu dans la méthode setcookie antérieure à PHP 7.3 peut être exploité pour définir l'attribut "SameSite" :
<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
Remarque : Ce bug a été résolu dans PHP 7.3 et son utilisation doit être évitée.
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!