前言
就前后端分离的开发方式而言,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合。前后端的传输通过HTTP进行传输,也带来了一些安全问题,如果抓包、模拟请求、洪水攻击、参数劫持、网络爬虫等都能够获取请求的数据包。那么如何对数据进行保护呢?
可以提升网络安全的方式
-
采用HTTPS协议
-
密钥存储到服务端而非客户端,客户端应从服务端动态获取密钥
-
请求隐私接口,利用token机制校验其合法性
-
对请求参数进行合法性校验
-
对请求参数进行签名认证,防止参数被篡改
-
对输入输出参数进行加密,客户端加密输入参数,服务端加密输出参数
HTTP VS HTTPS
普通的HTTP协议是以明文形式进行传输,不提供任何方式的数据加密,很容易解读传输报文。而HTTPS协议在HTTP基础上加入了SSL层,而SSL层通过证书来验证服务器的身份,并为浏览器和服务器之间的通信加密,保护了传输过程中的数据安全。
Aes数据加密实现方式
实现步骤:前端对数据进行加密,API对收到的数据进行解密。操作后,将数据在次加密并返回给前端,前端使用解密后的数据。
说明:Aes 中加密解密有多种模式,本文以base64为例。
vue 中封装的加密解密文件 ase.js
/***
* aes Base64 方式加密解密
*/
const CryptoJS &