1. ホーム
  2. php

[解決済み] PHP setcookie "SameSite=Strict"?

2023-06-14 18:32:48

質問

最近、"RFC 6265" を読んで、2016年4月に "Same Site" 属性が Chrome 51 と Opera 39 に実装されたという記事をいくつか見てみたのですが ...

現在のPHPはこの属性でCookieを作成することに対応しているのでしょうかね?

参考にしてください。

どのように解決するのですか?

[ 重要な更新です。 以下の @caw さんの指摘の通り、このハックは は PHP 7.3 で壊れます。 . 今すぐ使用を中止し、不愉快な思いをしないようにしましょう! せめて、PHP のバージョンチェックの際に if (PHP_VERSION_ID < 70300) { ... } else { ... } .]

PHP の "setcookie" 関数の "path" または "domain" パラメータを悪用して、SameSite 属性をこっそり入れることができるようです。PHP はセミコロンをエスケープしないためです。

setcookie('samesite-test', '1', 0, '/; samesite=strict');

そして、PHPは以下のようなHTTPヘッダを送信します。

Set-Cookie: samesite-test=1; path=/; samesite=strict

先ほど発見しましたので、各自でテストをお願いします PHP 7.1.11を使用しています。