我使用HTTP对用户进行身份验证。通过身份验证后,我在服务器端设置req.session.loggedIn = true。如果用户在登录后发出请求,出于安全考虑,我应该检查会话loggedIn值还是在每个请求上发送基本的auth头,然后在后端验证每个请求的凭据?
发布于 2020-09-25 10:49:23
正如mti2935提到的,每个请求都由浏览器自动发送基本的Auth头。这意味着设置会话cookie是多余的。
但是,应该禁止使用HTTP,正如这个答案中所讨论的那样。
发布于 2020-09-25 01:22:01
如果您的变量req.session.loggedIn是客户端可控的,那么您就有一个巨大的身份验证漏洞。
假设是这样的--您需要在成功登录后生成一个唯一的会话ID。当用户请求页面时,您将检查会话ID是否有效。
值得注意的是:我们希望尽可能减少凭证的透光率。一般来说,会话ID通常不像凭据那么有价值。
https://security.stackexchange.com/questions/238758
复制相似问题