目前的比较流行接口的设计 restful 风格, outh2.0接口。
从对接方分类
1.跟第三方对接 一般使用outh2.0验证安全。
2. 客户端提供接口 生成token,timestamp,sign。
1
2
自己目前在工作中使用的思路:
1.客户端请求登陆接口时,更新token和timestamp ,同时返回给客户端token和timestamp。
2.其它接口登陆时, 根据客户端传来的token做验证 【token是否正常(简单的安全验证)和有效期验证】
sign 客户端和服务器端各自有相同的加密来验证。
1
2
3
token生成
$str = md5(uniqid(md5(microtime(true)),true)); //生成一个不会重复的字符串
$str = sha1($str); //加密。
1
2
以下是目前科普到的一些关于http请求安全方面的知识
安全方面
有人会劫持token,sign等,
目前国内互联网公司主要采用2种方法实现接口安全
1. 以支付宝等支付公司为代表的私钥公钥签名验证机制。
2. 以大量互联网企业都常采用的参数签名验证机制。
1
2
3
4
http接口安全演进
2.1 完全开放的接口 (完成开放)
2.2 接口参数签名(基本安全)
2.3 接口参数签名 + 时效性验证 (更加安全)
2.4 接口参数私钥签名公钥验证 ()
2.5 接口参数签名 + https
2.6 接口参数**私钥签名、公钥验证** + https
4把秘钥都通过OpenSSL工具生成。 https://www.openssl.org/
1
2
3
4
5
6
7
8
参考文章
https://blog.youkuaiyun.com/hjl021/article/details/79286830
https://blog.youkuaiyun.com/qq_26291823/article/details/53337518