PHP Webマーケティング 開発・基盤

Webの新しい Cookie技術 http SameSite と Secure 対策その2

  1. HOME >
  2. 開発・基盤 >
  3. PHP >

Webの新しい Cookie技術 http SameSite と Secure 対策その2

概要

前回のSameSiteについての話の続きになります。
どのように処理すれば正しくCookieはsecureに処理できるようになるのか具体例とともに記載していきたいと思います。

前回について知りたい場合はこちらのリンクをクリックしてください。

SameSiteの種類

SameSiteは3つに分類されます。

  • None
  • Lax
  • Strict

None

従来どおりの動作
今までのクッキーになるので、今後セキュリティをあげないといけないのであまりおすすめできません。

Lax

CrossSite のリクエストでは、 Top Level Navigation 以外は Cookie を送りません。
別サイトからの遷移でもログイン状態が維持できるため、既存の Session 管理にも導入しやすいです。
POST では Cookie が送られないため、CSRF 攻撃への耐性が高まります。

Strict

自分のサイト以外からの全てのリクエストを Cookie を送らなります。
強い制限である。

Session Cookie にこの属性を付与すると、例えば別のサイトからリンクで遷移した場合にも Cookie が送られなくなる。
別のサイトから遷移する場合は、毎回ログインが必要となるため、ユーザの利便性も考えると難しいです。

具体的にいうと開発者がフォームを作成する時CSRFトークンでのセキュリティ対策をすると419エラーが発生しますのでCSRFトークンを無効にする必要が出てきます。

Laravel 6 の場合でのクッキーのセット

configディレクトリにあるsession.phpというファイルの一番最後の項目「'same_site' => 'strict'」に上記で説明した3種類を記載すればいいです。

一旦strictを入れておりますがlaxでもnoneでも問題ありません。

projectRoot/config/session.php
    /*
    |--------------------------------------------------------------------------
    | Same-Site Cookies
    |--------------------------------------------------------------------------
    |
    | This option determines how your cookies behave when cross-site requests
    | take place, and can be used to mitigate CSRF attacks. By default, we
    | do not enable this as other CSRF protection services are in place.
    |
    | Supported: "lax", "strict"
    |
    */

    'same_site' => 'strict',  // ← ここを変更する。


システムエンジニアランキング 仮想通貨ランキング にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ IT技術メモへ にほんブログ村 IT技術ブログ Webエンジニアへ

-PHP, Webマーケティング, 開発・基盤

Copyright© スリーネクスト , 2020 All Rights Reserved.