2011-04-27 38 views
0

在這裏symfony's tutorial,它說:隱藏條目ID以提高Web應用程序的安全性?

隱藏所有ID

symfony的另一個很好的做法 行動是避免儘可能 可能通過主鍵那樣 請求參數。這是因爲我們的主鍵 主要是 自動增量,並且這給黑客提供了太多關於數據庫記錄的 的信息。

這是爲什麼呢?它是否適用於所有網絡應用程序?

+0

http://en.wikipedia.org/wiki/Security_through_obscurity – skaffman 2011-04-27 09:35:47

回答

0

暴露密鑰是潛在的內部直接對象引用風險。實際上,這就是說,如果按鍵符合可預測的模式,那麼它們可能在攻擊中被用來對付你。當然,其他的安全層應該防止他(特別是適當的授權),但它是一個更小的安全層。這個概念與暴露內部密鑰的所有應用程序相關。

有關更多信息,請參見OWASP Top 10 for .NET developers part 4: Insecure direct object reference

+0

如果您的安全性設計得當,如果您向全世界發出您的ID,應該沒有關係。只有授權用戶才能夠利用它。 – skaffman 2011-04-27 09:57:00

+2

是的,並且如果您的安全性設計得當,則不需要哈希您的密碼或保護您的數據庫登錄。和所有的安全一樣,這是一種分層的方法,以儘量減少單點故障的風險。 – 2011-04-27 10:04:44