開放API校驗簽名機制

2022-05-13 05:37:09 字數 768 閱讀 1206

1現在通用的開放api介面校驗機制

校驗使用者傳的引數是否被篡改的做法,首先會把傳的引數加上私鑰做md5()然後再傳到伺服器。 

客戶端把簽名帶上,訪問伺服器

伺服器會根據事先約定好的,按照傳遞的引數按照key做排序。然後再按客戶端做一遍加密後判斷簽名是否一致。

2 為了防止二次多次請求刷資料的問題

引數防止篡改的問題根據1可以解決。多次請求刷資料的問題怎麼解決?

這個做法就是在請求時候帶上乙個隨機數。伺服器端記錄隨機數,如果有二次重刷資料可以根據隨機數判斷。伺服器端記錄大量隨機數比較費資源,所以加上了乙個時效比如15分鐘(客戶端的時間與伺服器的時間有差異,一版不會太大),在時效失效後把記錄的隨機數刪除掉。如果在時效內就做匹配記錄,否則就忽略此請求。如果在範圍內,就判斷儲存的隨機數是否存在,如果不存在就儲存隨機數,並接受處理此請求,如果存在就忽略此請求

2.1還是按照傳遞引數加上時間與隨機數做個簽名

請求時帶上$sign

請求就算完成,但是伺服器端儲存的請求的隨機數刪除的問題。

在請求到伺服器時,把隨機數儲存在redis上,然後設定乙個過期時間  

例如  set 123456789  2019-12-12

expire 123456789 60   //六十秒後過期自動刪除此

對使用者登入token 也是此流程

使用者在登入時 輸入賬號與密碼,請求到服務端,伺服器端根據判斷是否存在此使用者,並生成token傳遞到使用者,每次使用者請求時帶上token,

在請求的時候還是

帶上token值

開放api介面簽名驗證

在寫開放的api介面時如何保證資料的安全性?先來看看有哪些安全性問題在開放的api介面中,我們通過http post或者get方式請求伺服器的時候,會面臨著許多的安全性問題,例如 請求 身份 是否合法?請求引數被篡改?請求的唯一性 不可複製 為了保證資料在通訊時的安全性,我們可以採用引數簽名的方式來...

開放api介面簽名驗證

不要急,源 分享在最底部,先問大家乙個問題,你在寫開放的api介面時是如何保證資料的安全性的?先來看看有哪些安全性問題在開放的api介面中,我們通過http post或者get方式請求伺服器的時候,會面臨著許多的安全性問題,例如 請求 身份 是否合法?請求引數被篡改?請求的唯一性 不可複製 為了保證...

開放api介面簽名驗證

不要急,源 分享在最底部,先問大家乙個問題,你在寫開放的api介面時是如何保證資料的安全性的?先來看看有哪些安全性問題在開放的api介面中,我們通過http post或者get方式請求伺服器的時候,會面臨著許多的安全性問題,例如 請求 身份 是否合法?請求引數被篡改?請求的唯一性 不可複製 為了保證...