前後端API交互如何保證數據安全性?

Shmily047


我們知道,現在主流項目較多都是採用MVC模式來開發的,在沒有MVC之前開發B/S類項目那代碼耦合性很高、代碼維護成本也很大,比如像老掉牙的ASP代碼。而MVC推出後,我們將前端代碼通過模板引擎與後端進行整合,其實這個也談不上完全的前後端分離開發。

隨著Vue框架的興起,使得前後端完全分離式開發成為了可能,前端與後端的數據交互都通過API來進行。雖說前後端分離開發有很多優點,比如提升了開發效率、模塊維護簡單等,但也帶來了一些問題,比如說調用API時如何確保數據安全性?

要知道,前端調用API,這個動作是透明的,一般開發者通過抓包工具就知道你請求了哪些API、傳了什麼參數、返回結果是怎樣的。在這種情況下,API的安全性就尤為重要了,如要安全性沒做到位,那數據安全性也得不到保障。

在具體項目中我們會採取一些手段來儘可能保證API安全,比如說常見手段有:

1、啟用HTTPS

API統一走HTTPS協議,因為HTTPS協議下數據的通信是加密的(HTTPS協議在HTTP基礎上加了一個SSL層),可以防止第三方惡意篡改數據和中間人攻擊。

2、API啟用簽名鑑權

API的簽名鑑權機制可以保障API由調用方發起後不被篡改,比如sign被篡改後服務器驗證此sign是非法的。

另外要控制API的請求有效期,防止API地址被其它人重複利用請求。

3、密鑰存於服務器端

如果數據加解密需要密鑰(比如說:客戶端將請求參數加密、服務器端將響應數據加密),那密鑰應該存放在服務器端,由客戶端動態獲取密鑰來加解密數據。

4、請求參數合法性校驗

“永遠不要相信用戶的任何輸入”,對於客戶端傳來的參數,服務器端一定要進行合法性校驗,防止提交惡意不合法的數據。


以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!


分享到:


相關文章: