JavaScript设置Cookie的Domain属性实现跨子域共享
时间:2026-08-18 | 作者:火苗实验室 | 阅读:0这里有个前提不能含糊:Domain必须设置成带点开头的父域,比如.example.com,同时把Path统一设为/,并开启Secure(这在HTTPS场景下是必需项),SameSite则配置为Lax或None。无论是服务端的Set-Cookie,还是前端的document.cookie,都要把这些属性明确写清楚,别把兼容性寄托在默认行为上。
如果想在 Ja vaScript 里通过 document.cookie 设置 Cookie 的 Domain 属性,让主域名(如 example.com)和所有子域名(如 www.example.com、api.example.com)都能共用这份 Cookie,关键不在“跨域”,而在于把父域的作用范围声明正确。
也就是说,必须显式写入带前导点号的域名。同时,还要让其他相关属性保持一致并相互配合。
Domain 必须带前导点号(.example.com)
浏览器只认以点开头的 Domain 值为“父域通配”,这样该 Cookie 才能在所有子域下可见:
- 正确:
domain=.example.com→ 可被example.com、www.example.com、shop.example.com读取 - 错误:
domain=example.com(无点)→ 多数现代浏览器仅限主域,子域无法访问 - 错误:
domain=www.example.com→ 仅限该子域,其他子域完全隔离
配套属性必须统一设置
仅设 domain 不够。路径、协议、安全策略如果不匹配,子域之间同样会失效:
- path=/:确保所有子域下的任意路径都能携带该 Cookie,避免写成
path=/login这类窄路径 - secure:全站 HTTPS 时必须加,否则 HTTPS 页面不会发送该 Cookie
- samesite=lax 或 none:Lax 是默认值,适合多数跳转场景;若需从外部站点(如营销页)跳转并携带 Cookie,得设
samesite=none,但此时secure必须同时启用
前端设置示例与限制
Ja vaScript 只能设置非 HttpOnly 的 Cookie。HttpOnly Cookie 由服务端下发,JS 无法写入或读取。
// 设置一个可被所有子域读取的用户偏好 Cookie
document.cookie = "theme=dark; domain=.example.com; path=/; secure; samesite=lax";
// 注意:不能省略 domain=,也不能漏掉 secure(HTTPS 环境下)
- 不要依赖浏览器默认行为。它不会自动把
www.example.com下设的 Cookie “升级”到.example.com - 若用
js-cookie库,写法更清晰:Cookies.set('token', 'abc', { domain: '.example.com', path: '/', secure: true, sameSite: 'lax' });
注意 HttpOnly 和安全边界
前端 JS 设置的 Cookie 天然不具备 HttpOnly 属性,因此不适合存敏感凭证(如 session_id)。
这类信息应由后端通过 Set-Cookie 响应头下发,并设 HttpOnly + Secure + domain=.example.com。
另外,domain 只能设为当前页面所属域的父域或同级域,不允许设为无关域名(例如在 example.com 页面里写 domain=.google.com),浏览器会直接忽略。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- JavaScript正则表达式批量处理HTML标签转义与替换方法
- 时间:2026-08-21
-
- JavaScript函数默认参数的精准JSDoc类型注解方法
- 时间:2026-08-21
-
- JavaScript设置Cookie的SameSite属性防范CSRF攻击
- 时间:2026-08-21
-
- JavaScript中BOM如何打开新的浏览器窗口标签
- 时间:2026-08-20
-
- JavaScript微任务队列在事件循环中的执行机制
- 时间:2026-08-20
-
- JavaScript中网络超时如何用流程控制实现中断
- 时间:2026-08-20
-
- JavaScript防抖函数原理与减少高频事件触发方法
- 时间:2026-08-20
-
- TypeScript六个颠覆认知的核心知识点解析
- 时间:2026-08-20
精选合集
更多大家都在玩
大家都在看
更多-
- 2026年9月17日小鸡庄园答案
- 时间:2026-09-16
-
- 蚂蚁庄园今日答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园小课堂今日最新答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园小鸡答题今日答案2026年9月17日
- 时间:2026-09-16
-
- 褪黑素主要由人体哪个器官分泌 蚂蚁庄园今日答案9.17
- 时间:2026-09-16
-
- 蚂蚁庄园今天答题答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园答题今日答案2026年9月17日
- 时间:2026-09-16
-
- 研学旅游指导师的核心服务对象是 蚂蚁新村今日答案2026.9.16
- 时间:2026-09-16
