https改造:(一)为什么要改造

之前的http,不是好好的么?

  • 实际的案例一,接口被篡改
    我们后来的一个简单的接口,正确的话返回’y’,用于前端判断。结果某个客户打电话问,说这个接口相关的功能挂了。
    我们远程一下他的电脑,抓包一看,接口返回了’ y ‘,前后加了N个空格。
    这些空格,不是我们代码返回的。

  • 实际的案例二,界面被篡改
    被劫持的html5界面
    如上图,右下角红框里面的内容,不是我们的人员添加的。

如上的两则案例,原因都是网络劫持,还有15年,我们的客户大疆报了个bug,我们直到现场才发现是网络被运营商劫持了。

http为毛不安全?

  • HTTP 明文传输不仅会泄露数据,也会很容易被注入数据
    举个例子:小明暗恋小红,写了情书,托小刚给小红,由于不是加密的,小刚一看,情书,把“我爱你”改成了“我恨你”,然后转给了小红。
    小红一看很生气,小明也不知道,还在乐呵呵的傻等……
    这个情况,业内叫“流量劫持”。,上面的两个案例,都是流量劫持。
  • HTTP 不仅内容不加密,协议本身的(原语,头部数据)也是不加密的,于是协议指令本身也可能被修改
    可以设置header,导致缓存不被更新,界面一直显示一个模样。
    上面大疆被劫持,就是被劫持的协议,导致了数据请求不完。
  • HTTP 传输的 Web 网页中对于系统设备的授权是统一的
    这个更猛,被黑客攻击,拥有了对摄像头的访问权限。
    太吓人了。

那https就安全了么?

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTPS和HTTP的区别主要如下:

  • 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  • 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  • 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

https原理简介

步骤简单描述:
1、服务端配置证书(公钥)
2、客户端发起网络请求的时候,传送证书到客户端
3、客户端生成随机值(私钥),加密,然后到服务器
4、服务端拿到私钥,对内容进行对称加密
5、传送密文到客户端,客户端进行解密

听起来很费劲,但是为了安全,值得。

后续

现在chrome浏览器大力推广https,凡是http的链接,都会在地址栏前面,加上一个感叹号,表示不安全
Firefox,也在推广https,更猛,在输入框上,直接加上不安全的提示。如下图:
Firefox安全提示
小白用户一看,太吓人了,赶紧不用你的网站了,然后造成用户量流失。
所以,得做https,而且得好好做做。

参考链接:
HTTP与HTTPS的区别
前端早读课——【第710期】HTTPS是如何工作的
前端早读课——【第444期】关于启用 HTTPS 的一些经验分享

分享
返回顶部