上文《后端编码规范系列(八) 接口版本管理》我们提到有时候我们需要与第三方进行交互。此时就会涉及到接口交互的安全逻辑。
目前接口安全交互这块大众普遍使用的方法是 appkey+appsecret的形式,同时有的企业会在 appkey+appsecet 的基础上再增加一层 token 的形式来对接接口的安全。在我们日常开发中使用的方案也是 appkey+appsecret 的形式,但是我们没有搞得很复杂,我们使用的方案是:
1、使用 appkey与请求参数进行排列组合,按照 ASCII 码排序后使用 appsecret 进行 md5加密。 2、对第三方的请求配置 ip 白名单。
这样子做的好处是:
1、即使攻击方拿到接口文档,没有对应的 appkey+appsecret 也很难与我们服务器进行交互。 2、技术攻击方拿到 appkey+appsecret,也无法从其他 ip 请求到我们的服务器。
此方案相比 token 的形式来说,减少了我们和第三方的开发成本,同时也提高了接口的效率。
这里关于这种方案的实现的话,在本站之前我们已经编写过相关的案例,大家可以参考下:《服务端接口安全之验签sign案例》。
还没有评论,来说两句吧...