Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 开放式websocket连接存在哪些安全问题?_Html_Websocket - Fatal编程技术网

Html 开放式websocket连接存在哪些安全问题?

Html 开放式websocket连接存在哪些安全问题?,html,websocket,Html,Websocket,我正在构建一个使用WebSocket的应用程序。我只允许经过身份验证的用户在登录并获得会话id后打开与服务器的websocket连接 一旦我与经过身份验证的用户打开了websocket连接,当前“页面”就会保存打开的websocket连接的详细信息。在这一点上,这种连接是否相对安全?或者我真的应该在通过websocket传入的我自己的应用程序级协议中的每条消息上检查一些令牌吗 是否存在任何已知的跨站点伪造类型的安全问题?有人可以通过让经过身份验证的用户以某种方式执行一些javascript来合作

我正在构建一个使用WebSocket的应用程序。我只允许经过身份验证的用户在登录并获得会话id后打开与服务器的websocket连接

  • 一旦我与经过身份验证的用户打开了websocket连接,当前“页面”就会保存打开的websocket连接的详细信息。在这一点上,这种连接是否相对安全?或者我真的应该在通过websocket传入的我自己的应用程序级协议中的每条消息上检查一些令牌吗

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

  • 1) 当您在服务器端使连接安全时,连接是安全的。因此,您必须通过WebSocket发送会话ID,在服务器端验证它是否正确,并将连接标记为有效。HTTP的身份验证更加困难,因为HTTP是无状态的(与原始TCP不同)。当然,仍然有可能劫持TCP连接,但这并不是那么容易(例如,请参阅),如果发生这种情况,则没有任何东西(TLS除外)可以帮助您

    2) 好吧,如果您使用匿名函数包装WebSocket连接,如下所示:

    (function() {
        var ws = new WebSocket("ws://localhost:1000");
        // some other stuff
    })();
    
    那么外部JavaScript将无法访问它,因此您不必担心。

    关于上面的#1-是的,我正在检查原始握手中的cookie,因为它是一个HTTP GET请求,用于设置连接。cookie必须具有通过先前身份验证的有效会话id。所以我很安全地同意连接。。。目前还不清楚,由于此连接处于打开状态,并且没有对每条消息进行身份验证,可能存在哪些漏洞。。。