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

2019-10-25 09:51:42 +08:00
 xiaojinmaolove

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

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

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

5094 次点击
所在节点    程序员
12 条回复
elarity
2019-10-25 09:54:32 +08:00
抛开 ssl 外,handshake 的时候不是一般都校验一下类似于 token 这类的吗?
des
2019-10-25 09:56:45 +08:00
http 不一样可以“随便连”,所以 http 是怎么做的?
sologgfun
2019-10-25 09:58:52 +08:00
按我理解和 http 是类似的
[1]具体业务侧还是要处理的,比如跨域之类
[2]websocket 也有 ssl 版(wss),https 域名下的 ws 连接就必须是 wss 的
lllllliu
2019-10-25 10:12:53 +08:00
暴露的话你可以上 cdn。链接的时候都需要鉴权呀,就跟 http 一样,一些你不想让人看的页面和接口,鉴权一下直接拒绝就好了呀。难道你还能隐藏起来~~?
wanguorui123
2019-10-25 11:19:09 +08:00
http 都不安全被中间人代理连接什么数据都可以截获。还是要 SSL 证书或对称秘钥之类的对连接进行加密
Curtion
2019-10-25 11:41:53 +08:00
做认证啊,认证失败就不让连
ajaxfunction
2019-10-25 11:57:48 +08:00
你把 ws 看成 http 就可以了,
需要登录或需要权限才能操作的地方,连之前先验证身份,或连上之后验证身份。
bengcaca
2019-10-25 12:21:30 +08:00
ws 开始就是 http,握手成功才 upgrade 为 ws。http 怎么鉴权 ws 就可以怎么鉴权。
lc7029
2019-10-25 12:34:48 +08:00
说句题外话,长连接记得做心跳保活,不然网络设备可能会自行拆除连接而不告知双方
lp7631010
2019-10-25 12:42:03 +08:00
nginx 反代一下不就隐藏端口啦
Austaras
2019-10-25 13:18:33 +08:00
@lc7029 websocket 自带的
jendon
2019-10-25 17:49:03 +08:00
@lc7029 socket 才需要

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/612793

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX