如何安全地实施维护会话。假设只有登录页面使用SSL。所以用户输入他的usernamepassword并且http服务器验证它是否在数据库中,现在是什么?
是否设置了一些cookie?如果是,那么应该将cookie设置为什么以便保持安全性(加密,什么样的加密)?寻找低级详细的答案。我听说有各种cookie劫持问题。如果我只使用SSL进行登录,但之后不使用SSL,那么cookie是否容易受到攻击?
然后在关闭浏览器并且用户返回后,cookie如何识别用户名。如果没有cookie被盗,如何安全地完成这项工作?
答案 0 :(得分:1)
如果您的连接始终没有加密,绝对会使您的客户遭受会话盗窃。
HTTP是无状态协议,因此伪造有状态交互的唯一方法是客户端和服务器为每个事务发送会话标识符。如果这不受保护,它很容易被盗。由于会话标识符在打开会话期间是唯一身份验证令牌,因此这是灾难性的。
制作“记住我”功能的常用方法是设置一个cookie,其生命周期不限于浏览器的程序生命周期(即通过设置明确的过期日期),并在cookie中存储一些独特的数据匹配数据库中的某些记忆数据(可能包括IP)。但这并不能免除加密所有通信的需要!