【发布时间】:2017-11-15 06:56:57
【问题描述】:
我正在使用 SailsJS 作为后端和 Angular 作为前端来构建应用程序。在许多网站上,我发现身份验证是通过将req.session.userID 设置为 som 值来完成的,但在策略中它只执行基本检查,如if(req.session.userID),但我不确定这是否安全。如果我将一些随机字符串放入名为userID 的cookie 中,系统会认为这是有效登录吗?
例如,我正确的userID 是ABCDEF,但是如果某个攻击者过来并将他的cookie 用户ID 设置为DEFGH 怎么办。系统会认为这是有效的登录吗?我认为没有对数据库进行一些背景验证。创建一个名为 Sessions 的模型会存储随机生成的会话 ID 和关联的用户 ID 不是更好吗?然后系统会在用户登录时生成随机的 sessionID,并将其存储在数据库中,并在策略系统中检查当前设置的 req.session.sessionID 是否有效。
我之所以问这个问题是因为我对风帆的理解不是很深入,但从我的角度来看,文档中提出的解决方案似乎并不安全。
【问题讨论】:
-
特别是哪些文档?能给个链接吗?