EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?


_本文原题:EasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?
在TSINGSEE青犀视频平台云边端架构运维过程中 , 我们有时会遇到关于跨域问题的咨询 , 比如EasyDSS_kernel在使用hls拉流提示跨域、EasyNVR二次开发不能Hbuilder跨域等问题 。
EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?
本文插图
因此有用户问我们 , 为什么EasyNVR在视频流传输上会出现跨域这个问题 , 那么我们就要明白不仅是在视频流的传输上存在该问题 , 也不是跨域本身是个难以解决的问题 , 而是浏览器故意这样设计的 。 那为什么浏览器需要跨域的限制?
EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?
本文插图
【EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?】
简单说就是为了用户的安全 , 如果单纯的前端就能解决跨域问题 , 跨域限制就没有意义了 , 因为合法的开发者可以在前端设置跨域 , 而不合法的开发者也可以用同样的方法来模拟你的跨域 。
举个例子:
用户A请求了一个跨域的api接口 , 而后端没有了任何跨域限制 , 开发者B在前端设置了跨域 , 通过接口拿到数据 , 这看起来没有任何问题 , 然后项目上线 。 而不法分子C自建一个网站 , 用同样的跨域设置也将能访问这个接口 。 当其他使用者访问并登录了用户A的网站 , 同时不法分子C把伪造的网站也发给其他使用者 , 使用者打开伪造的网站 , 那么该伪造网站也可以任意访问api服务器的接口 , 拿到本来需要授权才能获取的任何用户数据 , 或者通过这个接口就能任意修改用户数据 。
EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?
本文插图
当然这只是举了个例子 , 以上情景可能只有通过cookie进行会话才会出现 , 现在一般都是通过前端手动维护token或者sessionId维持会话 , 但这同样是一个极其严重的安全问题 。
正因为这样 , EasyNVR也进行了跨越的设置 , 需要方便集成、跳过跨域 , 就需要通过指定的前端调用方式来进行处理和解决 。 经过多年的开发经验积累 , EasyNVR的安全性已经得到了多方项目的验证 , 如果大家还想了解更多关于EasyNVR相关的内容 , 欢迎联系我们咨询 , 也可自行下载EasyNVR试用版本进行测试 。
EasyNVR视频平台播放界面:
EasyNVREasyNVR为何需要跨域?为什么不能单纯的从前端来解决跨域问题?
本文插图