你的Api介面上鎖了嗎?

2021-09-11 11:45:08 字數 1067 閱讀 7709

職責單一化,各司其職,後端只負責api介面編寫提供給各種不同型別的客戶端去呼叫,但是客戶端和伺服器端呼叫是要有許可權限制的,不能任何乙個客戶端都可以隨便呼叫我們的介面(這裡面的緣由相信大家都知道吧,當然我就預設你們都知道),再者我們都知道http是明文傳輸,被抓包可可以修改相應引數,當然如果你使用了https就相對安全了不少!

下面『生活戲子』給大家講的只是其中的原理,我們可以根據所講知識繼續擴充套件,完善成為你自己的一套程式。

主要使用的工具:thinkphp5/php

(1)首先客戶端和提供服務的伺服器加密方式要一致aes、md5都可以

(2)規定好引數

下面的程式是規定了三個引數:version(api的版本)、time(請求時間)、sign(加密好的簽名)

當然這些引數我們可以根據你的實際**業務而定,不一定設定一樣,本次程式的引數是設定在header頭裡面進行傳輸,為了和body裡面的業務引數區分開來,當然這裡也可以不一致,根據你的業務而定

注意點:客戶端和服務端時間不一致的問題,我們要在伺服器提供乙個時間的方法來驗證時間的有效性

接下來就是我們在乙個入口檔案裡面去定義乙個驗證的方法,保證我們介面的安全性

以上就是**的示例:

(1)首先定義了乙個basecontroller

(2)定義乙個構造方法,觸發驗證機制

(3)在驗證方法裡面獲取header資訊,進行加密驗證,如果第一次方法將該sign作為鍵值快取起來並設定有效期,保證請求的唯一性

(4)之後判斷限制請求的時間,如果超時將拋棄此次請求

當然這是在http上面做的一些操作,如果使用了https已經相對安全多了!

以上只是乙個拋磚引玉,小夥伴可以自己再去完善

qq號:172183626(驗證填好)領取大量乾貨資料

你的api加鎖了嗎?

職責單一化,各司其職,後端只負責api介面編寫提供給各種不同型別的客戶端去呼叫,但是客戶端和伺服器端呼叫是要有許可權限制的,不能任何乙個客戶端都可以隨便呼叫我們的介面 這裡面的緣由相信大家都知道吧,當然我就預設你們都知道 再者我們都知道http是明文傳輸,被抓包可可以修改相應引數,當然如果你使用了h...

如何使用api 部署API安全,你準備好了嗎?

現代系統依賴於通過各種網路公開的api 應用程式介面 的複雜系統。很多企業借助api來傳輸資料和連線服務,提供便利。但同時,近年來一些嚴重的資料洩露都源於api遭到攻擊和破環,導致敏感的資訊被不法分子利用。那什麼是api安全,它如何融入到整體的安全計畫?所有應用程式都使用api 比如,對核心的呼叫 ...

你的春天來了嗎?

今天,登入部落格,忽然發現部落格的隨機提示語 你的春天來了嗎?無語.忽然發現自己是個很悲哀的人,孤寂的心一直在異鄉流浪,沒有停靠的港灣,沒有翱翔的天空,乙個人,寂寞地走在無人踏足的地方 沒有真正的理解,沒有圓滿的交集,只在孤獨的荒野,獨享寂寞的 快樂 你的春天來了嗎?我的還沒有 至少心靈之春還沒有到...