有人可以读取使用 socket.io 发送的对象,即使它没有为前端的用户打印出来

Posted

技术标签:

【中文标题】有人可以读取使用 socket.io 发送的对象,即使它没有为前端的用户打印出来【英文标题】:Can someone read object sent with socket.io emit even though it's not printed out for user in frontend 【发布时间】:2018-04-05 00:47:52 【问题描述】:

所以我正在开发 node.js 应用程序,该应用程序通过套接字推送对象以使用最新信息更新用户。

该对象已填充了用户数据。我想知道是否有人可以以某种方式看到该信息,即使它没有打印出来?

在通过 websocket 将敏感数据发送到前端之前,我应该从对象中删除敏感数据吗?

【问题讨论】:

【参考方案1】:

该对象已填充了用户数据。我想知道即使没有打印出来,是否有人能以某种方式看到该信息?

是的,任何使用开发工具在客户端中窥探的人都可以看到通过 webSocket 发送的内容。例如,只需打开调试器并查看已发送的 webSocket 数据包。以任何方式发送给客户端的任何数据都是如此。

在通过 websocket 将敏感数据发送到前端之前,我应该从对象中删除敏感数据吗?

是的,你应该这样做。

【讨论】:

感谢您的解释,经过一番谷歌搜索后,我实际上设法自己看到了网络套接字数据。【参考方案2】:

您发送给客户端的所有内容,无论是使用 HTTP、套接字连接等,都可以在客户端浏览器中访问。您应该始终只发送您的网站为该特定客户端运行所需的数据以及该客户端特定的数据。

随着开发人员工具的功能日益强大,窥探此类数据变得更加容易。

【讨论】:

以上是关于有人可以读取使用 socket.io 发送的对象,即使它没有为前端的用户打印出来的主要内容,如果未能解决你的问题,请参考以下文章

读取目录中的所有文件,将它们存储在对象中,并发送对象

发送公共消息,包括发送方 Socket.io

使用 Socket.io 的通知 - 如何发送给特定的用户/收件人?

Socket IO 发送到指定的用户 ID

如何通过 socket.io 将图像发送到服务器?

对象内的 Socket.io 客户端