有哪些好的做法可以确保登录、会话 ID 和会话内容对网站来说是安全的?
良好的会话实践
信息安全
验证
饼干
会话管理
2021-08-22 12:11:17
4个回答
- 使用数据库进行会话。
- 在权限更改时(例如,当用户登录时)重新生成会话。
- 在每次页面加载时重新生成会话(可选)。
- 不要在 URL 中公开会话 ID。
- 不要向会话公开任何敏感数据。
除了 VirtuosiMedia 的名单:
- 在整个站点上使用 TLS (SSL)。使用 HSTS 标头。
- 使用会话 cookie,而不是向每个链接 href 和表单操作添加会话令牌。
- 在 cookie 上使用
secure
和httpOnly
标志。 - 使用
X-Frame-Options
标题。 - 尽量减少会话的内容。例如,仅存储用户 ID。如果需要缓存,则缓存在通用缓存层中,而不是会话中。
- 使用只有服务器知道的密钥对会话 cookie 进行加密签名。在签名数据中包含到期日期时间。在每个请求上检查服务器的签名和过期时间。
在合理的时间后使您的会话过期...从您用作存储库的任何内容中删除会话,使其无法重复使用...
不要将密码或除用户 ID 之外的其他用户信息保存到会话中。