直接答案:25 个首页中 10 站设置了 Cookie,共 20 个:Secure 4 个、HttpOnly 12 个、SameSite 5 个;7 个三项标志全无、0 个使用 __Host-/__Secure- 前缀;8 站至少有一个 Cookie 缺 Secure;按名称分为会话类 10 个、WAF 3 个、语言 2 个、跟踪 1 个、其他 4 个。本文只发布属性计数,不发布 Cookie 名称或值。

所有样本站点都在 HTTPS 上,因此 Secure 属性是可用而未用的选项,不是环境限制。

10
设置 Cookie 的站
20
Cookie 总数
4
带 Secure
12
带 HttpOnly
5
带 SameSite
7
三项皆无

方法:一次不带 Cookie 的首页请求

2026-11-09 06:41,对第 4 期 25 个缓存 200 首页各发一次不带 Cookie 的 GET 请求,读取响应中的 Set-Cookie,解析 Secure、HttpOnly、SameSite、Max-Age/Expires 与名称前缀;按名称把 Cookie 归为会话、WAF、语言、跟踪与其他五类。名称与值只在站外原始记录中保留,公开数据只有计数。

口径判定边界
Cookie响应头中每个 Set-Cookie不执行 JS,脚本后续设置的 Cookie 不计
Secure / HttpOnly属性出现即计不判断浏览器是否实际拦截
SameSite属性出现即计,记录 Lax/Strict/None未声明时浏览器默认 Lax,不等于无保护
持久化出现 Max-Age 或 Expires会话 Cookie 不计
分类按名称关键词:session / waf / lang / tracking / other只看名称,不看值

结果:Secure 只有 4 个

指标数量站点数
设置 Cookie 的站点—10
Cookie 总数2010
带 Secure42
带 HttpOnly129
带 SameSite55
持久化(Max-Age / Expires)117
__Host- / __Secure- 前缀00
三项标志皆无72
SameSite=None 但缺 Secure00

按用途分:一半是会话 Cookie

类别数量说明
会话10名称含 sess / session / token 等
WAF3防护或挑战类 Cookie
语言2语言或地区偏好
跟踪1分析类标识
其他4站点自定义

问题集中在两站:E11 的 6 个 Cookie 三项标志全无,其中 3 个还是持久化的;E02 的 2 个 Cookie 里 1 个三项皆无。表现最好的是 E28:3 个 Cookie 全部 Secure、2 个 HttpOnly,但都没有 SameSite;E29 的 WAF Cookie 同时有 Secure、HttpOnly 与 SameSite=None(在 HTTPS 下自洽)。

另外几站的会话 Cookie 已经带 HttpOnly 与 SameSite=Lax,但缺 Secure(E13、E17、E26),在 HTTPS 站点上属于一处低成本可补的缺口;E18、E19、E20 则是 HttpOnly 齐备、SameSite 部分缺失。

对验收的启示

  1. HTTPS 站点的 Cookie 默认加 Secure。 20 个里 16 个缺,8 站至少一个;这是最低成本的一项。
  2. 会话 Cookie 必须 HttpOnly。 10 个会话类里仍有缺项,E11 的会话 Cookie 三项皆无。
  3. SameSite 显式写出。 5/20 有属性;浏览器默认 Lax 能兜底,但跨站嵌入或支付回调需要显式 None+Secure。
  4. 区分用途,不要一刀切。 跟踪或语言 Cookie 可能故意不加 HttpOnly;验收表应按类别给不同要求。
  5. 控制数量与生命周期。 20 个 Cookie 里 11 个持久化;上线前核对必要性、有效期与隐私说明。企业官网验收可参考网站建设服务。

局限

  • 单次请求:只发一次不带 Cookie 的 GET;WAF 挑战、登录态或后续接口设置的 Cookie 看不到。
  • 只读响应头:不执行 JS,不判断 Cookie 是否被脚本读取或用于跟踪。
  • SameSite 口径:统计属性是否出现,未声明时浏览器默认 Lax,因此不能等同于“无保护”。
  • 分类启发式:按名称关键词归类,可能有误判;不发布名称与值。
  • 25 站 pilot:同一批装备企业样本,不外推行业。

数据与复算

匿名数据:equipment-homepage-cookie-flags-2026.csv(25 行 × 16 列:Cookie 数、Secure/HttpOnly/SameSite/持久化、前缀、三项皆无、类别与时间)。仓库内为 docs/research/2026-11-homepage-cookie-flags.csv。

解析:scripts/cookie_flag_probe.py;单元测试 scripts/test_content_cookie_flag_probe.py(11 项,无网络)。运行:

python -m unittest scripts.test_content_cookie_flag_probe

配套:首页隐私入口与分析脚本、首页安全响应头 pilot、首页 CSP pilot、Cookie 标志检查器(本地解析 Set-Cookie)。

数据来源与口径

  1. 样本:第 4 期 25 个缓存为 200 的首页。
  2. 抓取:2026-11-09 06:41 Asia/Shanghai,串行,站间 0.5 秒,超时 15 秒,不带 Cookie。
  3. 解析:每个 Set-Cookie 的 Secure、HttpOnly、SameSite、Max-Age/Expires 与名称前缀。
  4. 分类:按名称关键词归类;不发布名称与值。

常见问题

没有 SameSite 就等于不安全吗?

不一定。Chrome、Edge 等现代浏览器对未声明的 Cookie 默认按 Lax 处理;本文统计的是属性是否写出来,不等于实际策略缺失,所以把 SameSite 单独列而不并入“缺标志”。

为什么 Secure 最值得先修?

站点已经在 HTTPS 上,缺 Secure 的 Cookie 仍可能随明文请求发送。20 个里只有 4 个带 Secure,8 站至少有一个缺。

HttpOnly 是越多越好吗?

会话类应加,前端需要读取的语言偏好或跟踪 Cookie 可能故意不加。本期 E28 的 tracking Cookie 就没有 HttpOnly,这是设计选择而不是遗漏。

为什么只有 10 站有 Cookie?

其余 15 站首页响应不设 Cookie,或由脚本、后续接口再设置。本文只统计首页响应头,不执行 JS,也不登录。

0 个 __Host-/__Secure- 前缀说明什么?

前缀能强制 Secure 与域限制,但采用率很低;它属于加分项,不是基本要求。

数据能复核吗?

可以。公开 CSV 25 行 × 16 列;scripts/cookie_flag_probe.py 有 11 项离线单测。

关于作者

凌壹信息Official(交付团队),负责企业网站、品牌与智能制造项目的需求梳理、方案与验收协作。本文只统计首页响应头中 Cookie 的属性,不执行脚本、不登录、不发布名称或值;10 站命中,属 pilot,不外推行业。

Cookie 也是配置

Secure、HttpOnly 与 SameSite 不显示在页面上,却决定 Cookie 会不会被明文发送、被脚本读取或被跨站带上。

预约内容验收方案