中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

API接口安全性設計思路是什么

發布時間:2022-01-05 14:42:31 來源:億速云 閱讀:117 作者:iii 欄目:大數據

本篇內容主要講解“API接口安全性設計思路是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“API接口安全性設計思路是什么”吧!

Token授權機制

用戶使用用戶名密碼登錄后服務器給客戶端返回一個Token(通常是UUID),并將Token-UserId以鍵值對的形式存放在緩存服務器中。服務端接收到請求后進行Token驗證,如果Token不存在,說明請求無效。Token是客戶端訪問服務端的憑證。

時間戳超時機制

用戶每次請求都帶上當前時間的時間戳timestamp,服務端接收到timestamp后跟當前時間進行比對,如果時間差大于一定時間(比如5分鐘),則認為該請求失效。時間戳超時機制是防御DOS攻擊的有效手段。

簽名機制

將 Token 和 時間戳 加上其他請求參數再用MD5或SHA-1算法(可根據情況加點鹽)加密,加密后的數據就是本次請求的簽名sign,服務端接收到請求后以同樣的算法得到簽名,并跟當前的簽名進行比對,如果不一樣,說明參數被更改過,直接返回錯誤標識。簽名機制保證了數據不會被篡改。

拒絕重復調用(非必須)

客戶端第一次訪問時,將簽名sign存放到緩存服務器中,超時時間設定為跟時間戳的超時時間一致,二者時間一致可以保證無論在timestamp限定時間內還是外 URL都只能訪問一次。如果有人使用同一個URL再次訪問,如果發現緩存服務器中已經存在了本次簽名,則拒絕服務。

如果在緩存中的簽名失效的情況下,有人使用同一個URL再次訪問,則會被時間戳超時機制攔截。這就是為什么要求時間戳的超時時間要設定為跟時間戳的超時時間一致。拒絕重復調用機制確保URL被別人截獲了也無法使用(如抓取數據)。

整個流程如下:

1、客戶端通過用戶名密碼登錄服務器并獲取Token

2、客戶端生成時間戳timestamp,并將timestamp作為其中一個參數

3、客戶端將所有的參數,包括Token和timestamp按照自己的算法進行排序加密得到簽名sign

4、將token、timestamp和sign作為請求時必須攜帶的參數加在每個請求的URL后邊(http://url/request?token=123&timestamp=123&sign=123123123)

5、服務端寫一個過濾器對token、timestamp和sign進行驗證,只有在token有效、timestamp未超時、緩存服務器中不存在sign三種情況同時滿足,本次請求才有效

在以上三中機制的保護下,

  • 如果有人劫持了請求,并對請求中的參數進行了修改,簽名就無法通過;

  • 如果有人使用已經劫持的URL進行DOS攻擊,服務器則會因為緩存服務器中已經存在簽名或時間戳超時而拒絕服務,所以DOS攻擊也是不可能的;

  • 如果簽名算法和用戶名密碼都暴露了,那齊天大圣來了估計也不好使吧。。。。

到此,相信大家對“API接口安全性設計思路是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

api
AI

齐河县| 和林格尔县| 庆元县| 武威市| 布尔津县| 娱乐| 鄢陵县| 容城县| 元阳县| 新密市| 乡宁县| 灵川县| 镇赉县| 瑞昌市| 苍梧县| 嘉黎县| 清苑县| 翼城县| 奉贤区| 蕲春县| 吴川市| 会同县| 宝兴县| 鄯善县| 和政县| 庄浪县| 旬阳县| 遂溪县| 南康市| 密云县| 龙川县| 亳州市| 酒泉市| 许昌县| 达尔| 潜江市| 铁岭市| 马公市| 钟祥市| 白水县| 台州市|