You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Cookie设置HostOnly属性?使用DefaultCookieSerializer的问题

如何为Cookie设置HostOnly属性

HostOnly是浏览器对Cookie的一种默认行为:当Cookie未指定Domain属性时,浏览器会自动将其标记为HostOnly,此时只有当前请求的主机(不含任何子域名)能访问该Cookie。

你当前的代码中设置了domainNamePattern,这会让DefaultCookieSerializer自动生成并设置Cookie的Domain属性,直接导致Cookie失去HostOnly特性。要实现HostOnly,只需做以下调整:

具体操作步骤

  • 移除setDomainNamePattern配置:删掉serializer.setDomainNamePattern("^((\\w+\\.)+\\w+\\.[a-z]+)$");这一行代码。
  • 避免手动设置Domain属性:不要调用setDomain方法,确保不主动指定Cookie的Domain值。

修改后的代码示例:

DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("M_SESSION");
serializer.setCookiePath("/");
serializer.setUseHttpOnlyCookie(true);
return serializer;

验证方式

  • Firefox开发者工具:在Storage > Cookies面板中,HostOnly列会显示true。
  • Chrome/Safari开发者工具:查看Cookie的Domain字段,若为空则说明是HostOnly(这两个浏览器没有单独的HostOnly列,但空Domain等价于HostOnly)。

内容的提问来源于stack exchange,提问作者Falvius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:01:17