谷歌浏览器中的SameSite属性导致Cookie丢失该如何设置?

冬杰同学_3903

冬杰同学_3903

2026-09-11

823人浏览

原创

chrome 120起默认samesite=lax导致跨域cookie被静默拦截,确诊需检查network中set-cookie响应头警告;永久修复须服务端设samesite=none+secure并启用https,前端fetch需credentials: 'include'且cors精确指定origin。

谷歌浏览器中的samesite属性导致cookie丢失该如何设置?

Chrome 120起默认强制SameSite=Lax策略,导致嵌入优酷播放器、企业微信H5登录页或CRM系统iframe子应用时,Cookie被静默丢弃,接口反复返回401或重定向至登录页——这不是后端故障,而是浏览器主动拦截跨域Cookie写入。

确认是否为SameSite拦截

按F12打开开发者工具 → 切换到Network标签页 → 刷新页面 → 找到一个带身份校验的请求(如/api/user/profile)→ 点击该请求 → 查看Response Headers中的Set-Cookie字段。

若出现警告文字“此Set-Cookie 标头未指定 SameSite 属性,且默认为 SameSite=Lax。它被阻止,因为它来自跨站点响应”,即确诊为SameSite拦截。

同时检查Preview或Response内容:若返回的是登录页HTML或Whitelabel Error Page,说明Cookie根本没送达后端,服务端收不到session标识。

服务端永久修复(推荐)

方法一:Nginx反向代理中注入SameSite属性

在nginx.conf的location块内添加:

proxy_cookie_path / "/; HttpOnly; Secure; SameSite=None";

【必须启用HTTPS,否则SameSite=None+Secure组合会被Chrome静默丢弃】

方法二:ASP.NET Core显式设置(3.1+)

在Startup.cs的ConfigureServices中添加:

services.Configure(options => { options.MinimumSameSitePolicy = SameSiteMode.None; });

并在UseCookiePolicy前调用app.UseCookiePolicy();

方法三:PHP中setcookie时强制声明

setcookie('session_id', $value, [ 'expires' => time() + 3600, 'path' => '/', 'domain' => '.yoursite.com', 'secure' => true, 'httponly' => true, 'samesite' => 'None' ])

注意:PHP 7.3+才原生支持samesite参数;旧版本需拼接Set-Cookie头字符串手动输出。

NotebookLM CLI Cookies
NotebookLM CLI Cookies

使用 nlm CLI 检索并回答已上传至 NotebookLM 的文档问题。适用于用户需要查找信息、总结来源或查询特定笔记本时。

下载

前端配合(关键但常被忽略)

fetch跨域请求必须显式携带credentials:

fetch('https://api.example.com/data', { credentials: 'include' })

XMLHttpRequest需设置withCredentials = true;否则即使服务端发了Cookie,浏览器也不会在后续请求中带上。

后端CORS响应头必须精确匹配前端域名:

Access-Control-Allow-Origin: https://app.example.com

不能设为*,否则credentials无效。

临时调试方案(仅限本地开发)

第一步:打开chrome://flags/ → 搜索“SameSite” → 找到以下两项:

① SameSite by default cookies → 设为Disabled

② Cookies without SameSite must be secure → 设为Disabled

【必须彻底关闭整个Chrome进程(任务管理器中结束所有chrome.exe),再重新启动】

第二步:创建桌面快捷方式,右键→属性→目标栏末尾追加:

--disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure

保存后双击该快捷方式启动,新窗口即解除SameSite拦截。

可信域名白名单(适合内网测试环境)

地址栏输入chrome://settings/siteData?search=cookie → 回车 → 在“允许”区域点击“添加” → 输入目标域名(如https://crm.internal.corp)→ 点击“添加”。

该操作仅对指定域名生效,无需修改代码,但每次新增子域名都要重复添加。

相关文章

谷歌浏览器
谷歌浏览器

谷歌浏览器Google Chrome是一款可让您更快速、轻松且安全地使用网络的浏览器。Google Chrome的设计超级简洁,使用起来得心应手。这里提供了谷歌浏览器纯净安装包,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

2023.06.30

11139

10

document.cookie获取不到怎么解决
document.cookie获取不到怎么解决

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.23

966

5

阻止所有cookie什么意思
阻止所有cookie什么意思

阻止所有cookie意味着在浏览器中禁止接受和存储网站发送的cookie。阻止所有cookie可能会影响许多网站的使用体验,因为许多网站使用cookie来提供个性化服务、存储用户信息或跟踪用户行为。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

744

5

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

2025.08.19

1826

14

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

0

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

0

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

0

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

0

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
php注册登录系统开发实战
php注册登录系统开发实战

共10课时 | 13.8万人学习

PHP基于Cookie的购物车模块设计
PHP基于Cookie的购物车模块设计

共10课时 | 11.1万人学习

第三期培训_PHP开发
第三期培训_PHP开发

共116课时 | 32.4万人学习