【问题标题】:ASP.NET Connection String Encryption / ProtectionASP.NET 连接字符串加密/保护
【发布时间】:2010-10-20 03:10:07
【问题描述】:

在 ASP.NET 中保护/加密连接字符串的最佳做法是什么,而不是仅仅在 Web.Config 中存储为纯文本

【问题讨论】:

标签: asp.net


【解决方案1】:

看看Programmatically encrypting a config-file in .NET,它似乎覆盖了这片土地。

【讨论】:

    【解决方案2】:

    您可以将此部分设置为encrypted

    但是,默认加密存在其他人指出的缺陷。您还可以将连接字符串部分设置为指向外部文件,该外部文件将与加密协同工作。这应该可以解决大多数问题,因为系统管理员可以在那里设置加密而不会破坏开发人员的 web.config 中的任何其他内容,并且开发人员可以在不撤消系统管理员加密的情况下部署对配置的更改。

    【讨论】:

      【解决方案3】:

      Web.Config 内置了对加密连接字符串(和其他数据)的支持,但这确实有一些开销,因为加密与服务器相关联,因此加密必须由服务器管理员而不是开发人员设置.

      您也可以使用源代码中的加密例程手动加密。

      为什么要加密?你在保护谁?黑客可以访问网络配置?不应该知道 prod 连接字符串的开发人员?加密背后的原因会稍微改变解决方案。

      【讨论】:

        【解决方案4】:

        最佳实践是使用 Windows 身份验证(注意连接池)。

        如果做不到这一点,加密连接字符串是个好习惯:Keeping secrets in ASP.NET 2.0.

        注意:基本方法不适用于网络农场。

        【讨论】:

          猜你喜欢
          • 2011-02-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多