SailsJS 安全认证
SailsJS secure authentication
我正在构建应用程序,使用 SailsJS 作为后端,angular 作为前端。在许多网站上,我发现身份验证是通过将 req.session.userID
设置为 som 值来完成的,但在策略中它只执行基本检查,如 if(req.session.userID)
,但我不确定这是否安全。如果我将一些随机字符串放入名为 userID
的 cookie 中,系统会认为这是有效登录吗?
例如,我的正确 userID
是 ABCDEF
,但是如果某个攻击者过来并将他的 cookie 用户 ID 设置为 DEFGH
怎么办?系统会认为这是有效登录吗?我不认为有一些针对数据库的背景验证正在进行。创建名为 Sessions 的模型会存储随机生成的 session ID 和关联的用户 ID 不是更好吗?然后系统在用户登录时会生成随机的 sessionID,它将存储在数据库中,在策略系统中将检查当前设置的 req.session.sessionID
是否有效。
我问这个是因为我对风帆没有很深入的了解,但从我的角度来看,文档中提出的解决方案似乎并不安全。
我建议您看一下 JWT 以及它如何解决一些问题。那么另一个问题就是"how to store this token"。您可以使用 cookie、本地存储等来解决,这完全取决于您的需要和可能性。通常在客户端 local storage
+ middleware
在服务器端 reddis
(高级会话行为)就足够了。
我正在构建应用程序,使用 SailsJS 作为后端,angular 作为前端。在许多网站上,我发现身份验证是通过将 req.session.userID
设置为 som 值来完成的,但在策略中它只执行基本检查,如 if(req.session.userID)
,但我不确定这是否安全。如果我将一些随机字符串放入名为 userID
的 cookie 中,系统会认为这是有效登录吗?
例如,我的正确 userID
是 ABCDEF
,但是如果某个攻击者过来并将他的 cookie 用户 ID 设置为 DEFGH
怎么办?系统会认为这是有效登录吗?我不认为有一些针对数据库的背景验证正在进行。创建名为 Sessions 的模型会存储随机生成的 session ID 和关联的用户 ID 不是更好吗?然后系统在用户登录时会生成随机的 sessionID,它将存储在数据库中,在策略系统中将检查当前设置的 req.session.sessionID
是否有效。
我问这个是因为我对风帆没有很深入的了解,但从我的角度来看,文档中提出的解决方案似乎并不安全。
我建议您看一下 JWT 以及它如何解决一些问题。那么另一个问题就是"how to store this token"。您可以使用 cookie、本地存储等来解决,这完全取决于您的需要和可能性。通常在客户端 local storage
+ middleware
在服务器端 reddis
(高级会话行为)就足够了。