![](/img/trans.png)
[英]how to set the username and password in the asp.net web.config file of funnelweblog?
[英]How can a database username and password be stored securely in a web.config file when using Entity Framework
使用Entity Framework訪問非本地服務器上的數據庫時,如何在連接字符串中指定用戶名和密碼參數(存儲在web.config文件中)?
我已經閱讀了C#分步指南(John Sharp 2010版),因為潛在的逆向工程或有人掌握了源代碼,所以從不硬編碼到您的應用程序中。 所以我想知道這樣做的傳統最佳實踐。
硬編碼用戶和密碼有三個原因:
這個問題沒有神奇的解決方案,在這種情況下,安全性只能與負責安全的人員的紀律和善意一樣好。
在我的公司,它是這樣的:
web.config
與他們自己的秘密合並 加密web.config
的用戶和密碼只會對你有所幫助。 最終,您必須在應用程序中以清晰的形式對加密密鑰進行硬編碼,這會將我們帶回到反匯編問題中。
在我看來,一個非常好的解決方案是將我公司發生的事情和加密與明確的密鑰和混淆相結合。
一般的想法是:
這意味着某人(可能是公司的所有者或其他負責人)需要使用“greasemonkey”應用程序來加密用戶名和密碼,並將結果加密給應用程序管理員。
不要忘記還有數據庫管理員最初給所有者一個初始的憑證對。 所有者需要更改密碼,然后完成我布置的所有內容。
總之,有許多解決方案,有些比其他解決方案更狡猾。 它不僅僅在工具和代碼中,而且在學科中。
您可以加密web.config的各個部分。 請參閱MSDN上的演練: http : //msdn.microsoft.com/library/dtkwfdky.aspx這很容易理解。
您可以嘗試使用以下代碼,
ConnectionStringsSection oSection = Configuration.ServiceConfiguration.GetConnectionStrings();
if(!oSection.SectionInformation.IsLocked && !oSection.SectionInformation.IsProtected)
{
oSection.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider");
oSection.CurrentConfiguration.Save();
}
編輯:
您可以從MSDN Link獲取有關受保護配置的更多信息, http://msdn.microsoft.com/en-us/library/53tyfkaw.aspx
您可以使用本文檔中顯示的方法輕松加密web.config文件的特定部分: 加密和解密配置部分
它對您的應用程序代碼是透明的,並且加密的部分在加密的機器外部是無用的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.