WebApi的安全性及其解決方案

2021-09-08 05:10:52 字數 1141 閱讀 6574

webapi的小白想要了解一些關於webapi安全性相關的問題,本篇文章是整理一些關於webapi安全、許可權認證的文章。

客戶端呼叫:

如上,這種方式簡單粗暴,在瀏覽器直接輸入"",即可獲取到相關的資訊了,但是這樣的方式會存在很嚴重的安全性問題,沒有進行任何的驗證,大家都可以通過這個方法獲取到產品列表,導致資訊洩露。

那麼我們就會有下面的疑問了:

如何驗證呼叫者身份呢?

如何防止引數被篡改呢?

如何保證請求的唯一性?

如何保證請求的唯一性,防止請求被惡意攻擊呢?

原理如下:

使用oauthclient credential grant授權方式,在服務端通過authorization server的乙個實現成功發放了access token,並在客戶端成功拿到了access token。在asp.net webapi中啟用oauth的access token驗證非常簡單,只需在相應的controller或action加上[authorize]標記。在asp.net中基於owin oauth`

參考文章:

給每個http請求新增乙個簽名,服務端來驗證簽名的合法性,如果簽名合法則執行響應的操作,如果簽名非法則直接拒絕請求。

簽名演算法

簽名演算法一般都使用hash雜湊演算法,常用的有md5,sha系列演算法。這些演算法可以根據不同的輸入,計算出不同的結果,而且碰撞的概率很低。

簽名演算法跟加密演算法不是一回事。hmac sha作為一種更加安全的簽名演算法,使用乙個key來影響簽名的結果。這樣同樣的輸入配合不同的key可以得出不同的簽名,更加安全。

簽名引數

可以用http請求的querystring然後加上時間戳還有隨機數來作為簽名的引數。

Ubuntu的安全性

現在ubuntu 的安裝源還不是很多,以後大量的非官方源出現會不會出現安全問題呢?下面是幾個德國源 據說軟體比官方源新。首先,在終端下執行下面的命令開啟源代表,sudo gedit etc apt sources.list 然後把這兩行加入 再拿把安全金鑰 完了以後,就sudo apt get up...

Cookie的安全性

http 協議不僅是無狀態的 也是不安全的 使用http協議的資料不經過任何加密就直接在網路上傳播,有被截獲的可能。使用http協議傳輸狠機密的內容是一件很危險的事情,如果不希望cookie在http等不安全的協議中傳輸,可以設定cookie的secure屬性為true。這樣瀏覽器只會在https和...

hash的安全性

在區塊鏈中,我們面臨著兩個問題 由於區塊鏈中,每個人都存在著乙個賬本,當乙個人有收入的時候,將會進行廣播到所有人的賬本,例如張三收入 錢,這樣子所有的賬本才能同步更新。但這種情況面臨的問題是,我們並不想讓別人知道我們收入了多少,這就是隱私問題。既然有廣播,每個人的賬本都能收到廣播訊息,當賬本越來越多...