如何安全地验证用户请求

时间:2014-08-09 17:43:58

标签: security web

我正在建立一个基本网站,其中登录用户向服务器发出请求。服务器有什么好的做法可以验证用户是谁?现在我每次用户登录时都会创建一个会话密钥,然后存储在数据库中。会话密钥是与当前时间连接的用户用户名的哈希值。每次用户发出请求时,他都会发送会话密钥进行验证。这种方法有安全漏洞吗?

1 个答案:

答案 0 :(得分:0)

是的,这不是真正的安全。它被称为Security by Obscurity

如果攻击者想要劫持一个会话,他们所要做的就是将用户名和时间一起散列并将其设置为cookie值。当然,这必须与当时登录的有效用户会话相对应,但是他们可以轻松编写脚本。

例如,如果他们想要以bob@example.com身份登录,则只需生成bob@example.com:00:00:00bob@example.com:00:00:01bob@example.com:00:00:02等的哈希值,直到他们找到一个会话值,允许他们访问特权页面。