Asp.net mvc 发布MVC站点,如何对数据库进行密码保护?

Asp.net mvc 发布MVC站点,如何对数据库进行密码保护?,asp.net-mvc,vb.net,asp.net-mvc-3,Asp.net Mvc,Vb.net,Asp.net Mvc 3,以下是我的连接字符串: <connectionStrings> <add name="ArticleDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" /> <add name="BlogDbContext" connectionString="Data Source=|Data

以下是我的连接字符串:

  <connectionStrings>
    <add name="ArticleDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="BlogDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="CompanyDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="UserProfileDbContext" connectionString="Data Source=|DataDirectory|MyBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
    <add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb1.mdf;User Instance=true" providerName="System.Data.SqlClient" />
  </connectionStrings>

关于实施应用程序的注意事项


我认为我应该把密码放在上面,然后加密。这是正确的吗?事后我该怎么做?在我的web.config文件中输入密码有什么问题吗?我读到一些关于反编译器能够读取你的密码的东西。。。这是真正的威胁吗?我可以做些什么来保护此应用程序?

可能不会。web.config文件中的密码通常公开连接到远程SQL Server(或其他数据库)的身份验证详细信息。这是你想保护的东西

您的数据库文件具有多种文件类型(存储在本地),并且您的SQL Express数据库可以使用集成安全性进行访问,因此我认为您可以保持原样。

您应该始终加密存储在配置文件中的敏感信息。您可以通过编程或通过
aspnet\u regis
(有关更多详细信息,请参阅)

为什么? 因为人们可以通过不同的漏洞下载纯文本的web.config文件,然后读取所有连接字符串、用户名、密码等

可能的攻击列表:

  • 带着
  • 计算机上的任何其他用户都可以读取web.config。这增加了一个巨大的列表,列出了所有对操作系统本身公开和未公开的攻击
  • 例如,对IIS FTP和后续web.config传输的攻击

您是否有一个链接来分享有关您提到的漏洞的更多信息?我正在浏览您发送的文档,但是页面很多,很难理解。你能把我链接到一个好的简单的教程(如果有的话),或者给我发一些关于如何在我的网络配置中加密密码的有用的例子吗?我确实在我的web.config文件中链接到了一个外部数据库。@user1477388查看。它有一些指向超级简单教程的链接;ConfigurationSection=config.Sections[“ConnectionString”];section.ProtectSection(“DataProtectionConfigurationProvider”);config.Update()-我应该把它放在哪里?谢谢。@user1477388通常放在事件启动时的
全局.asax
文件中。检查直接样本的问题。