ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「SameSite=Strict」Cookie を設定する方法: さまざまなバージョン用のガイド?

PHP で「SameSite=Strict」Cookie を設定する方法: さまざまなバージョン用のガイド?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-25 05:53:02333ブラウズ

How to Set “SameSite=Strict” Cookies in PHP: A Guide for Different Versions?

PHP を使用して "SameSite=Strict" Cookie を設定する

"SameSite" 属性は、第三者からのアクセスを制限することで Cookie のセキュリティを強化します。 -パーティーのコンテキスト。 2016 年 4 月に、この機能は Chrome 51 と Opera 39 に導入されました。

PHP 7.3 以降

PHP バージョン 7.3 以降では、「 setcookie() 関数の $options 配列を使用した SameSite" 属性:

<code class="php">setcookie($name, $value, [
    'expires' => time() + 86400,
    'path' => '/',
    'domain' => 'domain.example',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'None',
]);</code>

"samesite" 要素の値は、"None"、"Lax"、または "Strict" である必要があります。

7.3 より前の PHP バージョン

7.3 より前の PHP バージョンを使用している場合は、次の回避策を採用できます。

1. Apache 構成の変更

これを Apache 構成に追加します:

Header always edit Set-Cookie (.*) "; SameSite=Lax"

2. Nginx 構成の変更

これを Nginx 構成に含めます:

location / {
    # your usual config ...
    # hack, set all cookies to secure, httponly and samesite (strict or lax)
    proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}

3.ヘッダー メソッド

ヘッダー メソッドを使用して Cookie を設定します:

<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>

4. setcookie() メソッドのバグ

このメソッドは PHP 7.3 で解決されているため、注意して使用してください。

<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>

コードベースと要件に基づいて適切な回避策を使用することを忘れないでください。 .

以上がPHP で「SameSite=Strict」Cookie を設定する方法: さまざまなバージョン用のガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。