我想提高有关会话管理的当前应用程序的安全性,我希望用户在明确注销之前登录。
如何安全地实施?
将会话信息保存在数据库中,如sessionid,ip,useragent?
请提供要求,可能是数据库布局,做与否,提示和技巧。
注意: 我知道像asp.NET,rails,codeigniter等框架已经处理好了,但这不是一个选择。实际上它是一个经典的asp应用程序。但我认为这个问题与特定语言无关。
答案 0 :(得分:8)
答案 1 :(得分:3)
除非您使用https,否则您应该知道这样的系统无法安全。
这很简单:
如上所述,除非您使用https,否则没有安全的方法。
如果您使用的是共享托管,请尝试找出Cookie的存储位置。它们通常位于/ tmp目录中,每个用户都可以访问并通过该人访问您的cookie。
跟踪IP,如果您知道计算机永远不会更改它。
不要在cookie中存储任何信息。只需在那里存储一个随机数,并将属于它的信息存储在数据库中的服务器上。 (当然,不是像首选颜色这样的敏感信息可以存储在cookie中。)
答案 2 :(得分:2)
创建一个像2030年一样荒谬到期的cookie。如果您需要会话状态,请在cookie中保留会话ID(如果安全性优先,则加密)并将其映射到数据库中的表。 IP / UserAgent等往往是元数据,cookie是会话的关键。