2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術(shù)文章正文

APP接口安全設(shè)計要點

更新時間:2018-09-30 來源:黑馬程序員 瀏覽量:

請求合法性校驗:

請求合法性校驗主要就是指如何避免API被非法的調(diào)用,比如系統(tǒng)里面有一個短信接口,就要考慮如何避免這個短信接口不被短信轟炸機濫用,可以采用的方式有以下幾種:

1. 驗證碼,驗證碼主要用于防范惡意注冊、惡意破解密碼、惡意灌水等非法操作,驗證碼可以使用Google的CAPTCHA解決方案。

2. Token令牌,Token主要用于自動登錄,也就是在不需要用戶頻繁登錄的情況下保證訪問的合法性。常見的流程是使用用戶名和密碼登陸后,服務(wù)端返回一個token,后續(xù)客戶端每次方法都帶上這個token,當這個token超過一定的時間(token有效期)沒有被使用,則要求客戶端重新輸入用戶名和密碼重新獲取token,服務(wù)端也通過請求的IP地址等一些信息判斷客戶端的網(wǎng)絡(luò)環(huán)境和設(shè)備環(huán)境是否發(fā)生變化,如果發(fā)生變化,也要求客戶端重新輸入用戶名和密碼,重新獲取token。

3. IP、MAC地址限制,只允許某一個MAC地址、IP或IP段的客戶端進行訪問請求,只能一定程度上起到防范作用。

4. User-Agent和Referer限制,只能一定程度上起到防范作用。

數(shù)據(jù)合法性校驗:

數(shù)據(jù)合法性的校驗主要是為了避免異常數(shù)據(jù)和注入攻擊。

1. 不依賴客戶端的數(shù)據(jù)校驗,不管客戶端有沒有進行數(shù)據(jù)校驗,服務(wù)端都要做合法性校驗。

2. 用白名單的方式驗證數(shù)據(jù)合法性,也就是根據(jù)一系列已知的正確值或規(guī)則來驗證請求數(shù)據(jù),不嘗試檢驗?zāi)承┨囟ǖ腻e誤。

數(shù)據(jù)加密:

數(shù)據(jù)加密主要是指對敏感數(shù)據(jù)進行加密,避免因網(wǎng)絡(luò)傳輸過程中的竊聽和抓包造成敏感數(shù)據(jù)泄露,常見方法主要由:

1. 使用HTTPS協(xié)議。

2. 對敏感數(shù)據(jù)采用秘鑰進行加密和解密。

接口錯誤處理:

接口錯誤處理主要是值對接口的返回結(jié)果進行編碼,制定統(tǒng)一的錯誤返回編碼,避免因接口錯誤和異常等原因造成堆棧信息泄露。


接口過載保護:

接口過載保護是指對接口訪問頻率設(shè)置閾值,超出閾值后不予處理,直接返回錯誤碼,可以一定程度上防止CC攻擊,過載保護可以通過Web服務(wù)器進行控制,也可以通過代碼進行控制。

1. Nginx可以通過HttpLimitReqModul來限制單位時間內(nèi)連接數(shù)的模塊,使用

limit_req_zone和limit_req指令配合使用來達到限制。 一旦并發(fā)連接超過指定數(shù)量

,就會返回503錯誤。HttpLimitConnModul用來限制單個ip的并發(fā)連接數(shù),使用

limit_zone和limit_conn指令這兩個模塊的區(qū)別前一個是對一段時間內(nèi)的連接數(shù)限制

,后者是對同一時刻的連接數(shù)限制。

2. 可以通過代碼的方式來判斷,最好基于Redis計數(shù)器或者服務(wù)端緩存,避免對性能造成影響。

作者:黑馬程序員軟件測試培訓(xùn)學院
首發(fā):http://special.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!