2010-04-16 59 views
3

我正在閱讀關於ASP.NET和第三方API的教程,並且提到應將API KEY和SECRET KEY存儲在web.config文件中,以保證生產服務器上的安全,而不是存儲在使用它們的類中。但是,我不太確定web.config文件比類更安全嗎?我瞭解將它存儲在配置文件中的便利性,但我沒有看到安全性好處?web.config比類更安全嗎?

回答

6

對於初學者,您可以快速更新web.config中的API密鑰。您將不得不重新編譯該類並重新部署該類。

您也可以加密的web.config部分,各部分用asp.net 2.0開始

http://weblogs.asp.net/scottgu/archive/2006/01/09/434893.aspx

如果你能保持它的machine.config中,這將確保它只是住在那機器,沒有其他地方。 Web.Configs需要放置在每個環境中,儘管可以保持每臺機器的web.config不同,但隨着時間的推移,這會變得很困難,因爲必須保持它們全部同步。

0

沒有一個安全的利益。有一個方便的好處,你不必重新編譯使用這些值的類,如果它們發生變化的話。

從安全角度來看,這些類具有相同的安全級別。 web.config和任何類文件(在App_Code中)或編譯程序集(在bin文件夾中)將無法下載(這些目錄未映射到人們可以從中下載的虛擬目錄)。

但是,如果它們被獲得,那麼它們中的任何一個都沒有任何安全性。 web.config文件易於閱讀,並且使用Reflector等工具,可以輕鬆查看編譯程序集中的常量。

web.config對編譯好的程序集的唯一好處是可以加密web.config文件的各個部分,如Scott Guthrie points out in his blog

1

如果它只存在於服務器上的web.config中,它並不位於每個開發人員的計算機上。這使得它更加安全,因爲泄漏機密的風險降低了。

相關問題