Comment définir des cookies avec \'SameSite=Strict\' en PHP : un guide pour les développeurs

Mary-Kate Olsen
Libérer: 2024-10-25 04:44:02
original
650 Les gens l'ont consulté

How to Set Cookies with

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"
Copier après la connexion

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";
}
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!