密码、会话、JWT 与账号安全
Web 安全与XSS、CSRF、SQL 注入与权限安全#Python全栈#第十八阶段#Web 安全与XSS、CSRF、SQL 注入与权限安全#密码、会话、JWT 与账号安全约 944 字 · 3 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
为什么密码不应明文保存,也不应直接使用快速通用哈希保存?
追问 密码哈希的盐与成本参数各有什么作用?Argon2id、scrypt 或框架支持的密码方案怎样按依赖和性能选择,升级时如何迁移旧记录?
怎样降低登录、验证码和密码找回接口的滥用风险?
追问 账号、来源和全局限制怎样组合?验证码发送次数、验证次数与有效期如何区分,永久锁定账号为什么可能影响正常用户?
登录失败与密码找回响应怎样避免暴露账号是否存在?
追问 错误文本、状态码和耗时有哪些侧信道?怎样兼顾用户提示、统一响应和后台诊断,而不在日志中保存密码?
密码重置链接或验证码应具有什么生命周期?
追问 随机性、用途绑定、短时有效和一次使用怎样验证?重置成功后旧凭据与会话如何处理,重复提交和并发使用怎样控制?
会话固定是什么,登录和权限提升后应怎样处理会话标识?
追问 为什么不能沿用不可信的既有标识?服务器端会话、签名 Cookie 与其他认证方案分别怎样实现更新或失效?
Cookie 的 Secure、HttpOnly、SameSite、Domain 与 Path 各影响什么?
追问 哪些设置控制发送范围,哪些限制脚本读取?为什么 Path 不能被当成可靠的安全隔离边界,注销时如何匹配 Cookie 范围?
JWT 的签名验证与声明校验应包含哪些检查?
追问 算法允许列表、密钥、issuer、audience 和时间声明怎样约定?为什么解码成功不代表令牌可信,签名又为什么不等于内容加密?
JWT 退出登录、账号禁用与权限撤销怎样生效?
追问 短时访问令牌、服务端状态与刷新令牌轮换怎样配合?刷新令牌复用怎样发现,不能只删除浏览器存储就认为已撤销的原因是什么?
把令牌放在 localStorage、Cookie 或内存中,各有什么风险与约束?
追问 XSS 读取、浏览器自动携带、页面刷新与多标签同步怎样比较?为什么存储位置需要与 CSRF、会话恢复和整体认证方案一起设计?
管理员敏感操作为什么可能需要重新认证或多因素验证?
追问 权限变更、导出用户数据和修改收款信息应怎样提高确认强度?会话有效不等于近期验证过身份,操作审计怎样关联?
账号核对资料: OWASP:Authentication、Password Storage、Session Management、REST Security。