1 回答

TA貢獻1788條經(jīng)驗 獲得超4個贊
下面這幾個注意事項或許可以幫你一些
1. 找到Web應(yīng)用所有的輸入點,找到所有的能接受用戶輸入的地方,漏掉輸入點也就漏掉了可能存在的縫。
2. 過濾每一個輸入點,為每個輸入點設(shè)定相應(yīng)的校驗規(guī)則和邊界。
3. 不要忘記校驗?zāi)男╇[藏域,cookie和url參數(shù)。
4. 驗證從數(shù)據(jù)庫里面得到的數(shù)據(jù),這個是最容易忽視的地方,不要相信來自數(shù)據(jù)庫里面的數(shù)據(jù)就是合法的數(shù)據(jù)。
5. 你是如何做輸入校驗的? javascript?如果只是用javascript做客戶端校驗, 風(fēng)險還是很大的,一定要確保加上服務(wù)端的校驗,否則如果客戶端禁用了javascript或者客戶端代碼被人工修改,非法數(shù)據(jù)還是會進入系統(tǒng)內(nèi)部的。
6. 隱藏異常信息,再周全的校驗也不可能覆蓋所有的case,如果非法數(shù)據(jù)造成了系統(tǒng)的異常,不要將詳細(xì)的異常信息暴露給客戶端,這些異常信息有可能成為系統(tǒng)的攻擊入口。
在做輸入校驗的時候,從“什么樣的輸入才是合法的”入手會降低驗證失效的風(fēng)險,應(yīng)該只為每個輸入點的輸入內(nèi)容制定一個有限的,剛好夠用的合法范圍,除此之外的所有內(nèi)容都當(dāng)做是非法的。而從“什么樣的輸入是不合法的”入手則會增加驗證失效的可能,因為你不可能窮舉非法的輸入。
- 1 回答
- 0 關(guān)注
- 1859 瀏覽
添加回答
舉報