http接口安全设计的必要性
作为http接口的服务端,要能控制你本身自有数据的读写权限。
如果任何客户端在任何时间都能读写你的数据,那么用户数据很容易被修改。这就好比没加用户登录就可以访问和读写所有的系统数据。根本没有安全性可言了。
安全设计方案
方案1:(加密时间戳+可变的加密串)进行安全控制
原始请求:
http://www.zsfy.com/layy/getLayyList.htm?layyId=1001
安全控制后的请求:
http://www.zsfy.com/layy/getLayyList.htm?layyId=1001×tamp=543fafaf678vnkdnfgsakjfdf676&key=HGYT65475Gt57UABNJKH677677KKJJ
时间戳timestamp说明:
(1)作用是:固定时间范围内,减少同一请求被暴力调用的次数。
(2)客户端请求里加上时间戳传到服务端。服务端获取时间戳与当前时间做比较,如果时间相差3分钟,则拒绝访问本接口。
(3)时间戳的作用可以理解为给接口加了个有效期,超过这个有效期就不能再使用了。主要作用就是防止黑客暴力调用。
(4)注意客户端服务器与接口服务器的时间要进行校准,保持一致;否则有效期会不对,导致接口无法正常使用。
(5)时间戳要进行加密传输。因为数据加密后是没有规律可循的,防止黑客