《Disney +》 迪士尼、Marvel、彼思、星球大戰…  「超級機器人大戰30」第三彈預告片 & DLC②參戰作品發表!ULTRAMAN於超機戰中登場!   兒童不宜!全新動作角色扮演遊戲「來自深淵 朝向黑暗的雙星」!   「Fate Project 大晦日TV Special 2021」放送決定!   《Deathloop》加長版遊戲體驗搶先看   鬼滅對戰動作遊戲《鬼滅之刃火之神血風譚》最新情報 更新後可使在對戰中使用鬼   SQUARE ENIX東京遊戲展特設專頁登場!「SQUARE ENIX PRESENTS」內容搶先公開!   PS5的未來將在「PlayStation Showcase 2021」揭曉!   Neo Geo Pokect名作「SNK對卡普空 千年之戰」於Nintendo Switch開放下載! 

PHP Cookie SameSite 的設定方式

商業

Chrome 80 之後的版本,預設的 Cookie 設定將會無法跨站存取 Cookie 值,若想要允許 Cookie 跨網站存取的話(SameSite = None),需要使用 HTTPS 才可以。

  • 註:SameSite 用來阻止瀏覽器將 Cookies 跨網站發送 (prevents the browser from sending this cookie along with cross-site requests)

PHP Cookie SameSite 的設定方式

Chrome 80 之後的 Cookie SameSite 設定有三種(預設改為 Lax):

  • Strict
  • Lax (default)
  • None (需有 HTTPS 搭配,否則一樣等同 Lax)

Cookie SameSite 官方文件

Cookie SameSite 跨網域存取

  • SameSite=Strict:最嚴謹,只有與目前網頁網址一致才能發送 (remote.example、site.example 互相無法發送)
    • Set-Cookie: CookieName=CookieValue; SameSite=Strict;
  • SameSite=Lax:使用 GET remote.example 向 site.example 發送,Cookie 將會送向 remote.example (POST 則不會發送 Cookie)
    • Set-Cookie: CookieName=CookieValue; SameSite=Lax;
  • SameSite=None + HTTPS:允許跨網域存取,但是若沒 HTTPS 則預設「拒絕」跨網域存取
    • 無效:Set-Cookie: remote_session=abc123; SameSite=None
    • 有效:Set-Cookie: remote_session=abc123; SameSite=None; Secure

而 SameSite 的設定,於 PHP 7.2 以前尚未支援,所以 PHP 7.2 以前和 PHP 7.3 寫法不同:

PHP 7.2 以前的 SameStie Cookie 寫法

  • header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');

PHP 7.3 以後的 SameStie Cookie 寫法

  • setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);

相關網頁

Tsung

隨機商業新聞

Micorsoft