webapi
的小白想要了解一些關於webapi
安全性相關的問題,本篇文章是整理一些關於webapi
安全、許可權認證的文章。
客戶端呼叫:
如上,這種方式簡單粗暴,在瀏覽器直接輸入"",即可獲取到相關的資訊了,但是這樣的方式會存在很嚴重的安全性問題,沒有進行任何的驗證,大家都可以通過這個方法獲取到產品列表,導致資訊洩露。
那麼我們就會有下面的疑問了:
如何驗證呼叫者身份呢?
如何防止引數被篡改呢?
如何保證請求的唯一性?
如何保證請求的唯一性,防止請求被惡意攻擊呢?
原理如下:
使用oauth
的client 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的安全性
在區塊鏈中,我們面臨著兩個問題 由於區塊鏈中,每個人都存在著乙個賬本,當乙個人有收入的時候,將會進行廣播到所有人的賬本,例如張三收入 錢,這樣子所有的賬本才能同步更新。但這種情況面臨的問題是,我們並不想讓別人知道我們收入了多少,這就是隱私問題。既然有廣播,每個人的賬本都能收到廣播訊息,當賬本越來越多...