3 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個贊
在適當(dāng)?shù)臈l件下,暴露標(biāo)識符不是安全風(fēng)險。并且,在實(shí)踐中,設(shè)計(jì)Web應(yīng)用程序而不暴露標(biāo)識符將是非常繁重的。
以下是一些要遵循的好規(guī)則:
使用基于角色的安全性來控制對操作的訪問。如何完成這取決于您選擇的平臺和框架,但許多支持聲明性安全模型,當(dāng)操作需要某些權(quán)限時,該模型將自動將瀏覽器重定向到身份驗(yàn)證步驟。
使用編程安全性來控制對對象的訪問。這在框架層面上更難做到。更常見的是,您必須在代碼中寫入內(nèi)容,因此更容易出錯。此檢查不僅基于角色檢查,還通過確保用戶具有操作權(quán)限,還具有對要修改的特定對象的必要權(quán)限。在基于角色的系統(tǒng)中,很容易檢查只有經(jīng)理可以加薪,但除此之外,您需要確保員工屬于特定經(jīng)理的部門。
對于大多數(shù)數(shù)據(jù)庫記錄,條件1和2就足夠了。但添加不可預(yù)測的ID可以被認(rèn)為是一個額外的保險,或“深度安全”,如果你購買這個概念。但是,不可預(yù)測標(biāo)識符是必需的一個地方是會話ID或其他身份驗(yàn)證令牌,其中ID本身對請求進(jìn)行身份驗(yàn)證。這些應(yīng)該由加密RNG生成。
添加回答
舉報