

config/session.phpのsecureとsame_site、実はデフォルトじゃなかった
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
以前書いたconfig/session.phpのメモを見返してたら、コメントの内容が微妙に間違ってることに気づいた。
'secure' => env('SESSION_SECURE_COOKIE', true), // to default true.'http_only' => true, // to true.'same_site' => 'strict',このコメント、「Laravelのデフォルトがtrue(strict)」というニュアンスで書いてたけど、実際のフレームワーク側のデフォルトは違う。
実際のデフォルト
Laravelのconfig/session.phpは素の状態だとこうなってる。
'secure' => env('SESSION_SECURE_COOKIE', false),'http_only' => true,'same_site' => 'lax',secure: デフォルトはfalsehttp_only: デフォルトからtrue(ここだけは元々変更してない)same_site: デフォルトはlax
結論
自分のメモにあった設定は、secureとsame_siteをフレームワークのデフォルトから意図的に変更したものだった。http_onlyだけは最初からtrueなので、実質何も変えてない。
コメントを書き直すならこう。
'secure' => env('SESSION_SECURE_COOKIE', true), // デフォルトはfalse。本番用にtrueへ変更'http_only' => true, // デフォルトのまま(変更なし)'same_site' => 'strict', // デフォルトはlax。CSRF対策強化のためstrictへ変更この辺はLaravelのバージョンによって値が変わってる可能性もあるので、書き換える前に手元の環境のconfig/session.phpと見比べた方が確実。