所以我目前有一个 node.js 应用程序,它从文件中读取我的网站用户 ips,并使用 geoip 在地图中为每个访问者位置放置一个点。
问题是,每次有新访问者来时,如果客户端使用wireshark或fiddler检查流量,客户端就可以看到通过websocket发送的消息。
显然显示用户 ips 是不可能的,所以我想知道使用 TLS 是否足以使这些信息不可读或无法从 javascript 代码中调试。
谢谢
所以我目前有一个 node.js 应用程序,它从文件中读取我的网站用户 ips,并使用 geoip 在地图中为每个访问者位置放置一个点。
问题是,每次有新访问者来时,如果客户端使用wireshark或fiddler检查流量,客户端就可以看到通过websocket发送的消息。
显然显示用户 ips 是不可能的,所以我想知道使用 TLS 是否足以使这些信息不可读或无法从 javascript 代码中调试。
谢谢
最大的问题是你为什么要向浏览器发送 IP 和位置?要将标记放置在地图上,您只需要位置即可。
如果您需要在客户端通过 IP 地址区分用户,您可以编写自己的哈希算法,将 ip 与预定义的字符串(秘密)连接起来。所以对于同一个 IP,标识符总是相同的,但是如果没有相应的秘密,IP 是不可重构的。
这将使嗅探传输中的数据或多或少变得不可能。
在浏览器收到数据后,它不会阻止人们使用您的 JS 并稍微调整它以记录数据。
您无法向控制浏览器的人隐藏您发送到浏览器的数据。
信息被发送到用户的浏览器。浏览器必须能够对其进行解码才能使用它。浏览器还附带提供调试工具,允许用户检查正在发生的一切。因此,用户可以检查浏览器可以检查的任何内容。不,你想要的是不可能的。如果信息是机密信息,请不要首先将其发送给任何客户。
TLS 有助于防止第 3 方攻击者截断流量。如果普通用户可以访问敏感信息,那么 TLS 毫无价值。它被称为传输层安全性是有充分理由的。