《Disney +》 迪士尼、Marvel、彼思、星球大戰…  最新一期「State of Play」將於 7 月 9 日播出並釋出「死亡循環」實機遊玩影片!   東奧2020開幕式選手入場曲是電玩音樂!《FINAL FANTASY》《魔物獵人》等多款日本代表遊戲主題曲出場!   為紀念「第88回 東京優駿(GI)」KONAMI全面監製的桃鐵風賽馬雙陸遊戲「桃太郎電鐵優駿」公開!   人氣實況主「加藤 純一」發表結婚計劃   「東京電玩展 2021 Online」公開視覺美術圖!今年同時開設 VR 會場!   東京遊戲展2021 蘇菲的鍊金工房2 ~不可思議夢的鍊金術士發表   在米德加進行大逃殺!?「FINAL FANTASY VII THE FIRST SOLDIER」預計於2021年推出!   《動物森友會 口袋露營廣場》將舉辦「三麗鷗角色收藏2021」活動! 

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

隨機商業新聞

Addidas