你的api加鎖了嗎?

2021-09-20 04:54:14 字數 1121 閱讀 3446

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

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

主要使用的工具:thinkphp5/php

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

(2)規定好引數

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

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

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

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

以上就是**的示例:

(1)首先定義了乙個basecontroller

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

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

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

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

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

你的Api介面上鎖了嗎?

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

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

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

你盡力了嗎

你盡力了嗎 自己都覺得這裡的水平底的一塌糊塗,當然也包括我自己了,所以我經常也要 跑到whnet去問問題,有時候都恨自己怎麼這麼菜啊。scz 四哥 說 bbs是不能真正學到東西的,不過這裡能開闊人的視野,能得到對大方向的指引,能夠了 是的,真的是足夠了,要不是scz的指引,我不會走這條路的,當時在g...