websocket 是 H5 一个很重要很好用的特性,但是总感觉它很不安全,在浏览器端都可以很方便的查看服务端的地址和端口,这样别人岂不是可以很轻松的连接进来,这样不会有问题吗?
请问大佬们怎么保证这个连接的安全性呢?
我本来的需求是想通过 websocket 来实现个网页通知哦
websocket 是 H5 一个很重要很好用的特性,但是总感觉它很不安全,在浏览器端都可以很方便的查看服务端的地址和端口,这样别人岂不是可以很轻松的连接进来,这样不会有问题吗?
请问大佬们怎么保证这个连接的安全性呢?
我本来的需求是想通过 websocket 来实现个网页通知哦
|
elarityOct 25, 2019
1
抛开 ssl 外,handshake 的时候不是一般都校验一下类似于 token 这类的吗?
|
|
desOct 25, 2019 via Android
2
http 不一样可以“随便连”,所以 http 是怎么做的?
|
|
sologgfunOct 25, 2019
3
按我理解和 http 是类似的
[1]具体业务侧还是要处理的,比如跨域之类 [2]websocket 也有 ssl 版(wss),https 域名下的 ws 连接就必须是 wss 的 |
|
lllllliuOct 25, 2019
4
暴露的话你可以上 cdn。链接的时候都需要鉴权呀,就跟 http 一样,一些你不想让人看的页面和接口,鉴权一下直接拒绝就好了呀。难道你还能隐藏起来~~?
|
|
wanguorui123Oct 25, 2019
5
http 都不安全被中间人代理连接什么数据都可以截获。还是要 SSL 证书或对称秘钥之类的对连接进行加密
|
|
CurtionOct 25, 2019
6
做认证啊,认证失败就不让连
|
|
ajaxfunctionOct 25, 2019
7
你把 ws 看成 http 就可以了,
需要登录或需要权限才能操作的地方,连之前先验证身份,或连上之后验证身份。 |
|
bengcacaOct 25, 2019 via Android
8
ws 开始就是 http,握手成功才 upgrade 为 ws。http 怎么鉴权 ws 就可以怎么鉴权。
|
|
lc7029Oct 25, 2019
9
说句题外话,长连接记得做心跳保活,不然网络设备可能会自行拆除连接而不告知双方
|
|
lp7631010Oct 25, 2019 via iPhone
10
nginx 反代一下不就隐藏端口啦
|