【发布时间】:2021-11-13 04:58:58
【问题描述】:
现在授权 sheme 如下所示: 如果用户输入了正确的数据,服务器会生成一个唯一的 sessionKey,用 FK 将它插入到这个用户的会话表中。为了响应 JSON 请求,我发送了这个 sessionKey。 Web 客户端将此密钥设置在 cookie 中。
但问题是,如果web客户端存储了这个cookie,JS就可以访问它们,而且不安全。 另一种方法是设置 HTTP-Only cookie。但不清楚这种情况下是否需要使用 CSRF 中间件。 HTTPOnly 属性是否解决了 XSS/CSRF 攻击的问题?如果它没有决定并且你需要一个 CSRF 中间件,那么 csrf cookie 必须是一个会话 cookie。
问题是我的框架的所有 csrf 中间件都不允许使用会话 csrf cookie。或者,编写我自己的中间件。 我是否正确理解 csrf 中间件将我提供给客户端的令牌存储在 RAM 中并在每个请求上进行验证?但是如果可以像授权cookie一样被拦截,那么这个token还有什么意义呢?
【问题讨论】: