ios - 使用 io.sockets.emit 进行套接字 io

标签 ios node.js sockets coffeescript

我是 Socket io 世界的新手,想知道它们是否存在安全问题:

我也在使用 Coffeescript。

服务器。

io.sockets.emit('UserInfo', {player1: AllData1, player2: AllData2}) 

AllData1 基本上是玩家 1 的敏感信息,AllData2 是玩家 2 的敏感信息。

客户端。

 myName = 'snugglePuff'

 socket.on('UserInfo', (data) ->
        if data.player1.name = myName
          alert(data.player1.secret)
      )

所以我的问题是:当服务器向每个连接的套接字广播时,“player2”是否会以某种方式使用浏览器看到 data.player1.secret?

最佳答案

是的,这是一个巨大的安全问题。

每个客户端都可以看到您广播的任何内容。对于用户来说,在其页面版本上编辑脚本并抓取广播以获取诸如此类的额外数据将是微不足道的。

如果您必须发送敏感信息,请确保该信息仅发送给其所有者。或者,不要发送任何敏感内容,并研究将所有敏感内容保留在服务器端的方法(例如,使用安全随机生成的 ID 来识别每个用户的 session )。

关于ios - 使用 io.sockets.emit 进行套接字 io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46846720/

相关文章:

ios - 如何为UIKit控件设置自定义颜色?

ios - Objective-C 自动释放内存管理

node.js - Node socket.io客户端监听发送到其他客户端的事件

node.js - Restify CORS 不适用于 POST 请求

iphone - 我应该如何针对可能的核心数据文件损坏或加载问题进行防御性编码?

ios - 在 swift 中将 observe .value 转换为 .childAdded

javascript - Azure 文本转语音 - 不使用 Node.js 写入 MP3 文件

c - c语言udp套接字编程问题

iphone - 如何使用 NSOutputStream 通过套接字发送 NSString

c++ - SleepEx 是否保证在超时之前调用所有挂起的完成回调?