---
title: Cookie安全前缀治理(__Host/__Secure)最佳实践
keywords:
- __Host
- __Secure
- HttpOnly
- Secure
- SameSite
description: 通过统一使用__Host与__Secure安全前缀Cookie并校验属性,提升会话与敏感标识的安全基线,防止路径与子域滥用。
categories:
- 文章资讯
- 技术教程
---
背景与价值
安全前缀可强制Cookie属性与作用域。统一治理能降低路径与子域滥用带来的风险。
统一规范
- __Host:必须
Secure; Path=/; Domain不允许;适用于主域全站会话。 - __Secure:必须
Secure,其他属性按需设置。 - 统一
HttpOnly与SameSite(默认Lax或按场景None)。
核心实现
设置与校验
type Res = { setHeader: (k: string, v: string) => void }
function setHostCookie(res: Res, name: string, value: string, sameSite: 'Lax'|'Strict'|'None' = 'Lax', ttlSec = 1800) {
const enc = encodeURIComponent(value)
const attrs = [`__Host-${name}=${enc}`, 'Path=/', 'Secure', 'HttpOnly', `SameSite=${sameSite}`, `Max-Age=${ttlSec}`]
res.setHeader('Set-Cookie', attrs.join('; '))
}
function setSecureCookie(res: Res, name: string, value: string, sameSite: 'Lax'|'Strict'|'None' = 'Lax', ttlSec = 1800) {
const enc = encodeURIComponent(value)
const attrs = [`__Secure-${name}=${enc}`, 'Secure', 'HttpOnly', `SameSite=${sameSite}`, `Max-Age=${ttlSec}`]
res.setHeader('Set-Cookie', attrs.join('; '))
}
落地建议
- 会话与敏感标识统一使用
__Host-前缀并设置Path=/、不含Domain。 - 对跨站嵌入场景使用
SameSite=None; Secure严格属性。
验证清单
- 前缀与属性是否满足规范;是否避免设置
Domain与路径缩小。

发表评论 取消回复