2018-08-01

Android接口怎么保证安全性?怎么保证接口不被抓包工具抓取?

接口inteface的作用:

  1. 解决了多重继承问题
    java不支持多继承(一类多超),但一个类可实现多个接口,将抽象方法定义在接口当中,间接达到多重继承的目的。(弥补了java单继承的缺点)。
  2. 用于回调
    主线程不支持耗时操作(网络请求,数据库读写,文件读取),将其放置子线程当中,执行完将结果发给主线程,这个过程,就是回调。

一.怎么保证接口的安全性?(5种方式)

①Token机制

用户登录成功时,服务器返回一个Token值(客户端与服务端的认证机制)给客户端,后续客户端调用服务端的接口,都需要携带这个Token值

服务器接收后校验Token合法性,Token不一致,服务器拦截该请求。

②使用Https

Https具有SSL保密协议,能有效的防止中间人的攻击,保证接口的安全性,确保数据不被篡改。

③对数据进行校验

(服务器收到数据后,需要验证是否与客户端发送的一致,确保传输过程
中不被修改,这就需要服务端与客户端做签名与验签的准备)
客户端对所有请求服务端接口的参数,加密生成签名,将签名作为请求参数发送给服务器。
服务端接受请求同时做验签的操作,使用对称加密方法对请求参数生成签名,与客户端发送的签名做对比,不一致,服务器进行拦截。

④过载保护

对访问接口设置最高访问次数,对于超过次数的请求进行屏蔽以及预警。

⑤采用异常封装

服务器需要构建异常统一处理架构,将所有可能发生的异常封装在一起,返回固定的code与msg,防止程序堆栈信息的泄露。

二.怎么保证接口不被抓包工具抓取?

①接口验证

在每一个接口添加一个code用于接口验证,验证通过才能请求到数据。

②添加密钥

每个app都有一个密钥secreKey,密钥随参数一同加密,保证接口安全。

③采用多种加密方式

应用多种加密方式,这样用户也只能抓到链接,也抓不到数据,也能防止获取加密的secreKey。

④Https

之间使用https,可避免抓包。

⑤设置不代理

Fidder和Charles抓包工具,本质上,是利用中间人的方式,获取用户信息。
抓包工具前提是设备上的代理模式,通常我们是在wifi连接页面设置代理,
对于常用网络库,是提供了代理接口,我们只需设置为无代理模式,对app本身无影响。

你可能感兴趣的:(2018-08-01)