PHP Cookie の SameSite 属性を実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-24 20:26:29
オリジナル
180 人が閲覧しました

How to Implement the SameSite Attribute for PHP Cookies?

PHP Cookie の同一サイト属性

RFC 6265 では、Cookie に「同一サイト」属性を導入しています。これにより、クロスサイト リクエスト フォージェリ (CSRF) を制限することで Cookie のセキュリティが強化されます。

PHP サポート:

PHP >= v7.3:

setcookie() 関数はサポートしています$options 配列を介した「同じサイト」属性。有効な値は次のとおりです。

  • なし
  • 緩い
  • 厳密

PHP の場合 < v7.3:

PHP コアの制限により、いくつかの回避策が利用可能です:

Apache 構成:

に次の行を追加します。 「同じサイト」属性を持つすべての Cookie を変更します:

Header always edit Set-Cookie (.*) "; SameSite=Lax"
ログイン後にコピー

Nginx 構成:

以下を含むように構成を更新します:

proxy_cookie_path / "; secure; HttpOnly; SameSite=strict";
ログイン後にコピー

ヘッダー メソッド:

ヘッダーを使用して Cookie を明示的に設定できます:

header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");
ログイン後にコピー

バグの悪用:

バグを利用した古い setcookie() メソッド:

setcookie('cookie-name', '1', 0, '/; samesite=strict');
ログイン後にコピー

注: このバグは PHP 7.3 で解決されています。

参照:

  • [Chrome ステータス: 機能ドキュメント](https://www.chromestatus.com/feature/5633521622188032)
  • [HTTPbis ドラフト](https://tools.ietf.org/ html/draft-west-first-party-cookies)
  • [HTTPbis 最新ドラフト](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis)
  • [PHP マニュアル: setcookie()](https://php.net/manual/en/function.setcookie.php)

以上がPHP Cookie の SameSite 属性を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!