如何防止websocket csrf

mznpcxlj  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(226)

我们如何防止websocket csrf攻击?
也就是说,基本上可以找到websocket url,然后从浏览器控制台定义到该url的新websocket连接,并最终与数据库通信。我在这里找到了一个很好的解释:https://medium.com/@osamaavvan/E-websocket-application-wide-xss-csrf-66e9e2ac8dfa
我正在将ws-library与node.js一起使用,并查看了它们的文档。他们提供了一个例子,但最重要的是,他们基本上说了“自己写”:https://github.com/websockets/ws#client-认证
我找到了这个答案,但正如我所评论的,“validatecookie”会产生一个错误,因为它没有定义:https://stackoverflow.com/a/52792563/11930305
我查看了ws文档中引用的一个示例,如下所示:

if (!request.session.userId) {
  socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n');
  socket.destroy();
  return;
}

哪里:

const uuid = require('uuid');
const id = uuid.v4();
req.session.userId = id;

我没有尝试过这个方法,因为如果有一个不需要另一个库的解决方案会很好,但也许这是最好的方法。
防止websocket csrf攻击的最佳和最简单的方法是什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题