V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaojinmaolove
V2EX  ›  程序员

?! websocket 长连接的安全性问题,求大佬指导

  •  
  •   xiaojinmaolove · 2019-10-25 09:51:42 +08:00 · 4919 次点击
    这是一个创建于 1617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    websocket 是 H5 一个很重要很好用的特性,但是总感觉它很不安全,在浏览器端都可以很方便的查看服务端的地址和端口,这样别人岂不是可以很轻松的连接进来,这样不会有问题吗?

    请问大佬们怎么保证这个连接的安全性呢?

    我本来的需求是想通过 websocket 来实现个网页通知哦

    12 条回复    2019-10-25 17:49:03 +08:00
    elarity
        1
    elarity  
       2019-10-25 09:54:32 +08:00
    抛开 ssl 外,handshake 的时候不是一般都校验一下类似于 token 这类的吗?
    des
        2
    des  
       2019-10-25 09:56:45 +08:00 via Android
    http 不一样可以“随便连”,所以 http 是怎么做的?
    sologgfun
        3
    sologgfun  
       2019-10-25 09:58:52 +08:00
    按我理解和 http 是类似的
    [1]具体业务侧还是要处理的,比如跨域之类
    [2]websocket 也有 ssl 版(wss),https 域名下的 ws 连接就必须是 wss 的
    lllllliu
        4
    lllllliu  
       2019-10-25 10:12:53 +08:00
    暴露的话你可以上 cdn。链接的时候都需要鉴权呀,就跟 http 一样,一些你不想让人看的页面和接口,鉴权一下直接拒绝就好了呀。难道你还能隐藏起来~~?
    wanguorui123
        5
    wanguorui123  
       2019-10-25 11:19:09 +08:00
    http 都不安全被中间人代理连接什么数据都可以截获。还是要 SSL 证书或对称秘钥之类的对连接进行加密
    Curtion
        6
    Curtion  
       2019-10-25 11:41:53 +08:00
    做认证啊,认证失败就不让连
    ajaxfunction
        7
    ajaxfunction  
       2019-10-25 11:57:48 +08:00
    你把 ws 看成 http 就可以了,
    需要登录或需要权限才能操作的地方,连之前先验证身份,或连上之后验证身份。
    bengcaca
        8
    bengcaca  
       2019-10-25 12:21:30 +08:00 via Android
    ws 开始就是 http,握手成功才 upgrade 为 ws。http 怎么鉴权 ws 就可以怎么鉴权。
    lc7029
        9
    lc7029  
       2019-10-25 12:34:48 +08:00
    说句题外话,长连接记得做心跳保活,不然网络设备可能会自行拆除连接而不告知双方
    lp7631010
        10
    lp7631010  
       2019-10-25 12:42:03 +08:00 via iPhone
    nginx 反代一下不就隐藏端口啦
    Austaras
        11
    Austaras  
       2019-10-25 13:18:33 +08:00
    @lc7029 websocket 自带的
    jendon
        12
    jendon  
       2019-10-25 17:49:03 +08:00
    @lc7029 socket 才需要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5901 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:14 · PVG 10:14 · LAX 19:14 · JFK 22:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.