我对保护会话和cookie有几个问题。
- 当浏览器关闭时,会话作为服务器上的临时文件被删除。我认为破坏会议并不是一件容易的事。此外,所有教授保护会话的教程和文档实际上都谈到了保护cookie,所以我可以假设,当我们只使用在浏览器退出时过期的会话时,不需要任何特殊的会话保护方法。如果是,我们可以使用什么来保护会话? 在使用自动登录功能时,cookie确实需要注意。我们可以为额外的安全启用严格模式,拒绝未初始化的会话。在自动登录的未初始化会话中没有cookie。
- 当使用自动登录时,我认为以一种简单的方式保护cookie,重新生成会话id,然后用sha512散列它,这会安全cookie吗?
-
Read: The Fast Track to Safe and Secure PHP Sessions.
有几种方法可以存储会话数据:
- 在文件中(PHP的默认行为)
- 在数据库中(许多框架都这样做)
- In memcached (what I do)
- 在cookie本身(通常是一个坏主意)
除非你正在传输会话数据(即你的数据库在另一个服务器上,或者你的memcached在多个服务器上运行,你不确定它使用TLS在节点之间通信),你通常不需要对会话数据做任何事情。
-
自动登录实际上是一个复杂的主题,与正常会话不同。我以前写过安全的"记住我"cookie
-
阅读#2中的链接。我不太清楚你在这里描述的是什么,但听起来很可疑。