API安全-临时记录

2017-06-26  本文已影响36人  大道至简_NX

1.API安全

(1)签名(sign)

(2)令牌(token)

(3)过期时间

(4)超时时间

接口说明:获取会员个人资料​

接口地址:http://v1.api.tomener.com/member/profile​

请求方式:GET

请求参数:

1.id​(会员ID)

2.t(当前时间戳)​

3、sign(签名)

4、token

返回的值:

一般我们在设计API的时候,都会有个签名,就是一个将参数加密之后的字符串,我们叫sign​

具体生成签名的算法可以参考支付宝

之前的API大概是这么设计的​,但是,如果用wireshark或tcpdump工具截获了请求,

那么别人就可以通过这个永久的获取会员的信息了,所以,我想应该有个时间限制,比如这个请求在6秒之内有效,那么,我们就应该再传一个参数t(当前时间戳)​。

这时候,问题来了,客户端的时间和服务端的时间是不一致的

我的解决方法:

​客户端登录的时候获取服务端的时间戳和自己的时间戳对比,看相差了几秒并保存这个差值,请求的时候慢了几秒就加几秒,快了几秒就减几秒

​API得到请求后:

1、判断是否过期

2、判断sign是否有效

3、参数的合法性验证​

1.调用接口需要授权,授权之后 使用方拿到 用户名 token 等授权信息

2.使用方调用接口 参数包含: 用户名 token或者签名儿 等接口参数

3.可以设置token的过期时间和token调用次数限制

4.可以记录每个用户的调用次数 调用记录

上一篇下一篇

猜你喜欢

热点阅读