javascript - Socket.io - header - 查询字符串 - 安全

标签 javascript node.js socket.io http-headers jwt

我想在这里介绍几个方面。让我们展开。

我在我的一个应用程序中使用 Socket.io。在尝试让 JWT 对普通应用程序和 socket.io 客户端通用时,我有这些想法。

  1. 我发现 Socket.io 使用 HTTP(S) 协议(protocol)和 GET 方法 远的。或者它也支持 POST 吗?如果是这样,如何?如果不是,为什么?
  2. 虽然许多帖子声称使用查询参数来传递 JWT,这在 HTTPS 上不会“那么糟糕”,但鉴于大量浏览器扩展通常读取 URL,我有弹性这样做。所以我更倾向于使用 Headers。顺便说一句,这也是他们指定的工作。还是我被少量信息误导了?
  3. header 将我们带到下一个问题, header 和查询字符串如何通过网络传输?一个比另一个更安全吗? header 在途中对世界的可见度是否较低?
  4. 哦!以及如何在 Socket.io 客户端 中设置 header ?

帮助将不胜感激,谢谢!

附言如有必要,请更正帖子标题。

最佳答案

1) socket.io 顾名思义使用 websockets,所以它实际上应该使用 wss 协议(protocol),使用轮询和 https 只是一个后备 afaik。

2) 浏览器扩展也可以读取标题?我看不出一个比另一个有任何优势。

3) 作为 1 和 0?但是两者都是加密的(因为 https 和 wss)。

4) 你为什么想要那个?如果您想使用 socket.io,只需 .emit() 事件,这就是 socket.io 的全部内容。如果您不想要 websockets,而是想要一些自制的解决方案,请创建您自己的解决方案。

关于javascript - Socket.io - header - 查询字符串 - 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54929138/

相关文章:

javascript - 如何分发使用 Closure-library 的库而不包含任何实际的 Closure-library 源?

javascript - 如何在express.js帖子上使用<a>而不是按钮?

node.js - 通过 Mongoose 使用 req.body 更新和/或添加数组元素属性?

node.js - 执行请求期间 Node CLS 上下文丢失

javascript - 如何在javascript中输入名称和id的值?

javascript - vue.js - 如何监视嵌套对象的属性并获取索引?

javascript - git 在 ember-cli 的环境变量中提交 SHA 哈希

node.js - Favicon 未在 express 本地显示

node.js + socket.IO - 套接字没有重新连接?

node.js - 如何将坐标从 node.js 服务器发送到 leaflet.js 客户端