Secure Cookie Attributes
安全 Cookie 属性
安全 Cookie 属性会限制 Cookie 如何传输,以及脚本能否读取。它也会限制跨站发送时机、可接收的主机和路径,以及保存期限。
另一个例子
响应会设置 `__Host-session`,包含 `Secure; HttpOnly; SameSite=Lax; Path=/`,而且没有 `Domain`,登录后还会轮换。第三方支付返回时,会使用另一个范围很小的关联 Cookie,不会降低所有会话 Cookie 的安全性。退出登录时也会结束服务器端会话。
主要部分
- 01名称前缀和值
- 02传输/脚本/站点限制
- 03范围与生命周期
什么时候用
Cookie 应使用足够但最小的范围和期限。会话 Cookie 通常要加上 `Secure`、`HttpOnly`、明确选择的 `SameSite` 模式,并优先使用主机前缀。
什么时候不要用
`Path` 不是安全边界。不要无故设置很宽的 `Domain`、把承载型秘密放在脚本可读的 Cookie 中,也不要使用没有 `Secure` 的 `SameSite=None`。
代码里的名称
Set-Cookie: __Host-name=…; Secure; HttpOnly; SameSite=Lax/Strict; Path=/; Max-Age=… 上线前要检查
检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。
预期结果:为这套系统设计或检查 安全 Cookie 属性 (Secure Cookie Attributes),并让数据保持正确、安全且容易维护。 用户场景:响应会设置 `__Host-session`,包含 `Secure; HttpOnly; SameSite=Lax; Path=/`,而且没有 `Domain`,登录后还会轮换。第三方支付返回时,会使用另一个范围很小的关联 Cookie,不会降低所有会话 Cookie 的安全性。退出登录时也会结束服务器端会话。 技术概念或控制措施:安全 Cookie 属性 (Secure Cookie Attributes)。 适用理由:Cookie 应使用足够但最小的范围和期限。会话 Cookie 通常要加上 `Secure`、`HttpOnly`、明确选择的 `SameSite` 模式,并优先使用主机前缀。 不应使用的情况:`Path` 不是安全边界。不要无故设置很宽的 `Domain`、把承载型秘密放在脚本可读的 Cookie 中,也不要使用没有 `Secure` 的 `SameSite=None`。 工程要求:定义输入、输出、接口约定,以及任何情况下都不能破坏的规则。说明授权与输入检查范围。定义失败、超时、重试和重复执行只生效一次的规则。也要定义数据迁移与兼容限制。 运营要求:加入监控信号与隐藏敏感数据的日志。设置容量上限并写好操作手册。测试恢复与回到上一版的流程。 验收标准:接口约定与失败路径测试通过。重试或部分失败时,数据与授权规则仍正确。性能上限、监控、恢复与回到上一版的方法都已验证。 证据与限制(证据边界):正式文档仍可能是草案、候选版或最终版。请查看文档状态,也要确认浏览器或平台是否支持。 待确认:程序运行环境、数据位置、流量形态、数据一致需求和安全边界。也要确认兼容周期、服务目标(SLO)与恢复上一版的限制。
检查这份需求
请 AI 编程助手检查当前如何使用 安全 Cookie 属性 (Secure Cookie Attributes)。 定义:安全 Cookie 属性会限制 Cookie 如何传输,以及脚本能否读取。它也会限制跨站发送时机、可接收的主机和路径,以及保存期限。 生产环境检查:检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。