会话令牌(Session Token)
会话令牌(Session Token) 是什么?
会话令牌(Session Token)认证成功后签发的不透明标识符,客户端在每次请求时回传,使服务器能查询用户的会话状态。
会话令牌用于在 HTTP 请求之间维持用户登录态。最常见的是服务端存储(数据库、缓存或签名 Cookie)的强随机字符串,以带 Secure、HttpOnly、SameSite 标记的 Cookie 发送给浏览器。服务器以它为键查询会话存储中的用户 ID、角色与元数据。优秀的会话令牌具有高熵,在登录和权限变更时重新生成,设置空闲与绝对超时,并在登出时在服务端失效。常见攻击包括会话固定、会话劫持、可预测 ID 与缺失登出。
● 示例
- 01
Set-Cookie: SESSIONID=Z6r...; Secure; HttpOnly; SameSite=Lax
- 02
登录成功后立即重生成会话 ID 以防御会话固定。
● 常见问题
会话令牌(Session Token) 是什么?
认证成功后签发的不透明标识符,客户端在每次请求时回传,使服务器能查询用户的会话状态。 它属于网络安全的 身份与访问 分类。
会话令牌(Session Token) 是什么意思?
认证成功后签发的不透明标识符,客户端在每次请求时回传,使服务器能查询用户的会话状态。
会话令牌(Session Token) 是如何工作的?
会话令牌用于在 HTTP 请求之间维持用户登录态。最常见的是服务端存储(数据库、缓存或签名 Cookie)的强随机字符串,以带 Secure、HttpOnly、SameSite 标记的 Cookie 发送给浏览器。服务器以它为键查询会话存储中的用户 ID、角色与元数据。优秀的会话令牌具有高熵,在登录和权限变更时重新生成,设置空闲与绝对超时,并在登出时在服务端失效。常见攻击包括会话固定、会话劫持、可预测 ID 与缺失登出。
如何防御 会话令牌(Session Token)?
针对 会话令牌(Session Token) 的防御通常结合技术控制与运营实践,详见上方完整定义。
● 相关术语
- identity-access№ 1018
会话管理
用于颁发、维护、刷新和吊销已认证会话的一组控制措施,将用户身份与后续请求绑定,直至注销或过期。
- attacks№ 1016
会话劫持
通过窃取或伪造会话标识符,接管受害者已认证的会话,使攻击者无需密码即可冒充其身份的攻击。
- appsec№ 1015
会话固定
攻击者在受害者登录前向其浏览器植入已知的会话 ID,使其在认证后仍对攻击者有效的攻击。
- appsec№ 983
Secure Cookie 标志
告诉浏览器仅在 HTTPS 上发送该 Cookie 的属性,防止其在网络上以明文传输。
- appsec№ 500
HttpOnly Cookie 标志
禁止 JavaScript 通过 document.cookie 访问的 Cookie 属性,可在出现 XSS 时限制会话被窃取。
- appsec№ 961
SameSite Cookie
控制浏览器在跨站请求中是否携带 Cookie 的属性,取值为 Strict、Lax、None,主要用于缓解 CSRF。
● 参见
- № 256CSRF 令牌