LoginSignup
13
6

More than 3 years have passed since last update.

LaravelでCookieのSameSite属性を設定する

Last updated at Posted at 2020-03-10

chromeアップデートでcookieに新しくSameSite属性が追加

SameSite属性の目的

今開いているページのドメインから、別のドメインにリクエストを送る際に、cookieをセットするかどうかを制御。

SameSite属性の種類

Strict
  • cookieをセットしない
Lax (デフォルト)
  • SameSite属性の指定がない場合、扱われる。
  • サーバーとCookieのドメインが同じでもcookieをセットしない場合がある。(POSTメソッド、imgタグ、XMLHttpRequests等)
  • トップレベルナビゲーションであるもの、かつ、getリクエストであるものにcookieをセットする。
    • トップレベルナビゲーションとは・・・ ナビゲーションのためにアドレスバーのURLが変更されること。
None
  • cookieをセットする(secure属性を有効する必要がある。)

SameSite属性のポイント

  • SameSite 属性が指定されていない場合、デフォルトでcookieを「SameSite = Lax」として扱うようになる
  • SameSite = Noneが指定されてる場合、secure属性を有効にしていないとエラーを返す

多くの人がLux設定にするだろうからもう少しわかりやすく

調べてみたら、リクエストタイプ別にCookie送信の可否を書いている人がいたので引用させてもらいます
引用元の記事

リクエストタイプ コード Cookie送信
Link a href="…"
Pererender link rel="prerender" href="…"
Form GET form method="get" action="…"
Form POST form method="post" action="…" ×
iframe iframe src="…" ×
AJAX $.get('…') ×
Image img src="…" ×

設定方法

src/config/session.phpを修正

src/config/session.php
'same_site' => null,
13
6
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
13
6