LoginSignup
0
1

More than 1 year has passed since last update.

【PHP】PHPで別ドメインへcookieを送る方法

Posted at

iframe内のコンテンツのURLを開く際に、cookieが消えてしまう事象が発生した。
ifame内は別ドメインで動いているためcookieのセキュリティで別ドメインに送れず、別ドメインを経由して表示されたページではクッキーが消えているという状態だった。

別ドメインへcookieを送る方法

PHPでsetcookie()を使ってクッキーをセットするときに、パラメータでセキュリティ等の詳細を設定することができる。
今回は別ドメインに対してもクッキーを送れるようにしつつ、最低限のセキュリティは保つようなパラメータを設定した。

phpファイル
setcookie('name', 'value', [
    'path' => '/',
    'secure' => true,
    'httponly' => true,
    "samesite" => 'None',
]);

上で設定しているパラメータの意味は次のとおり。

path:サーバー上でcookieを有効としたいパスを記入。
    '/'をセットするとドメイン配下すべてで使用可能。

securetrueに設定するとhttps接続の場合のみcookieが送信される。

httponlytrueに設定するとhttpを通してのみcookieにアクセス可となり、JSなどからアクセスできなくなる。

samesite:現在のドメインから別ドメインへリクエストを送るときのcookieのセット可否
      Noneに設定すると別ドメインへクッキーを送れるようになる。

samesiteNoneに設定した場合は、セキュリティが最も緩い状態になるので、securehttponlyなど他のパラメータも同時に設定して最低限のセキュリティを確保する必要がある。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1