gpt4 book ai didi

html - 开放的 websocket 连接有哪些安全问题?

转载 作者:太空狗 更新时间:2023-10-29 13:15:58 24 4
gpt4 key购买 nike

我正在构建一个使用 websockets 的应用程序。我只允许经过身份验证的用户在登录并被授予 session ID 后打开与服务器的 websocket 连接。

  1. 一旦我打开了与经过身份验证的用户的 websocket 连接,当前“页面”就会保存打开的 websocket 连接的详细信息。此时,这个连接是不是比较安全?或者我真的应该检查通过 websocket 传入的我自己的应用程序级协议(protocol)中的每条消息的一些 token 吗?

  2. 是否存在任何已知的跨站点伪造类型的安全问题?哪里有人可以通过让经过身份验证的用户以某种方式执行一些 javascript 来共享一个开放的 websocket - 从而能够利用开放的 websocket 连接?

最佳答案

1) 当您在服务器端确保连接安全时,连接是安全的。所以你必须通过 WebSockets 发送 session ID,在服务器端验证它是否正确并将连接标记为有效。使用 HTTP 进行身份验证更加困难,因为 HTTP 是无状态的(与原始 TCP 不同)。当然,劫持 TCP 连接仍然是可能的,但这并不是那么容易(参见示例 this article),如果它发生了,那么没有什么(除了 TLS)可以帮助你。

2) 好吧,如果你用这样的匿名函数包装你的 WebSocket 连接:

(function() {
var ws = new WebSocket("ws://localhost:1000");
// some other stuff
})();

那么外部 JavaScript 将无法访问它,因此您不必担心这一点。

关于html - 开放的 websocket 连接有哪些安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com