安全问题本质上是一个门槛问题,你要假设这个世界上就没有绝对安全的系统,只是爆破的成本足够高。
接口安全要求
b1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口)
b2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改)
b3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放)
b4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等)
常用加密方式
- Oauth 第三方认证许可
- AES 有密匙和要加密的内容 生成密文
- RSA 公钥和私钥
- 模拟Oauth2.0
如何防止接口被非法调用或者被爬?
根据业务场景使用不同手段:
- 内部接口(内网使用):可以把接口限制在内网范围,不开放外网策略,防止被外部调用;
- 对外接口 (需要登录) :登录后,后端生成一个唯一token给前端,调用接口需要带上这个token。防止未登录用户非法调用;
- 对外接口(无需登录) :风险是怕数据被爬取,那就需要从“反爬”的手段去做;