前面講過:行動端與PHP服務端介面通訊流程設計(基礎版)
對於 api_token 的校驗,其安全性還可再增強:
增強地方一:
張表,一個介面表,一個授權表,設計參考如下:
介面表
寫字欄位型別 | ||
接口ID | api_name | |
介面名,以"/"作為分割線,如blog/Index/addBlog | api_domainfall_dofall856) | |
tinyint(1) | 是否可用 1:可用0:不可用 | |
int | (戳) | |
(戳) | )再擴充吧!! | api_id |
api_name
varchar(120)0:不可用 | add_time | |
添加時間(戳) | expire_time | |
增強地方二: | 對於一些很特殊的接口,怎麼特殊,哪些算特殊,我也不知道,總而言之,就是感覺http請求有可能被劫取,傳遞參數有可能被竄改等情況,還是舉個例子來說吧: | |
方案一:走https,這個就不多說,比較公認的安全機制; | 方案二:走數字簽名,實現原理如下: | 一個http請求,假如需要傳遞如下3個參數 |
參數名2=參數值2 | 參數名稱3=參數值3 | 我們可以再追加一個參數,該參數的名為 |
前幾個參數值順序相加,再加密後的結果。 | 即: | |
加密金鑰 | ');於是,最終傳遞的參數有:於是 | 參數名稱1=參數值1 |
參數名稱3=參數值3
client_id=client_id值
identity_key=md5('參數值1' + '參數值2' + '參數值3'+ 'client_id值' + '
加密金鑰')
服務端接到參數後,再按相同的加密規則重新產生一份 identity_key,服務端的
identity_key和客戶端的
identity_key進行校對,如果不相等,表示被竄改過,接下來怎麼操作,自己看著辦吧!
以上就介紹了行動端與PHP服務端介面通訊流程設計增強版,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。