Maison  >  Article  >  développement back-end  >  Comment définir des cookies avec \"SameSite=Strict\" en PHP : un guide pour les développeurs

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 04:44:02651parcourir

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"

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!

Déclaration:
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