目前的比較流行接口的設計 restful 風格, outh2.0接口。
從對接方分類
1.跟第三方對接 一般使用outh2.0驗證安全。
2. 客戶端提供接口 生成token,timestamp,sign。
自己目前在工作中簡答使用的思路:
1.客戶端請求登陸接口時,更新token和timestamp ,同時返回給客戶端token和timestamp。
2.其它接口登陸時, 根據客戶端傳來的token做驗證 【token是否正常(簡單的安全驗證)和有效期驗證】
sign 客戶端和服務器端各自有相同的加密來驗證。
token生成
$str = md5(uniqid(md5(microtime(true)),true)); //生成一個不會重複的字符串
$str = sha1($str); //加密。
以下是目前科普到的一些關於http請求安全方面的知識
安全方面
有人會劫持token,sign等,
目前國內互聯網公司主要採用2種方法實現接口安全
1. 以支付寶等支付公司爲代表的私鑰公鑰簽名驗證機制。
2. 以大量互聯網企業都常採用的參數簽名驗證機制。
http接口安全演進
2.1 完全開放的接口 (完成開放)
2.2 接口參數簽名(基本安全)
2.3 接口參數簽名 + 時效性驗證 (更加安全)
2.4 接口參數私鑰簽名公鑰驗證 ()
2.5 接口參數簽名 + https
2.6 接口參數**私鑰簽名、公鑰驗證** + https
4把祕鑰都通過OpenSSL工具生成。 https://www.openssl.org/
參考文章
https://blog.csdn.net/hjl021/article/details/79286830
https://blog.csdn.net/qq_26291823/article/details/53337518