【问题标题】:SQL connection string hidden in IIS隐藏在 IIS 中的 SQL 连接字符串
【发布时间】:2017-10-09 07:29:51
【问题描述】:

有没有办法在 IIS 中设置连接字符串而不在 .net 应用程序的 web.config 文件中设置?因为我不希望在 .net 代码中设置凭据

【问题讨论】:

  • 你可以加密它。或者让您的应用程序从“秘密服务器”获取它。或者使用环境变量。但我想更重要的是,是否有人有权访问您网站的源代码,但无权查看连接字符串?
  • 它是链接到 IIS 的源代码的发布,但是有很多工具可以反转发布并拥有源代码,所以如果我在 web.config 中对其进行加密,我将拥有在我的代码中解密它,如果他们反转发布代码,他们将知道如何解密连接字符串
  • 如果有人可以“逆转发布”而您不信任,我认为您手上的问题比解密连接字符串要大得多。
  • 您不必将连接字符串放在配置文件中。您必须以一种或另一种方式在代码中对其进行加密/解密,因此只需访问数据层类中的解密字符串...

标签: asp.net sql-server iis web-config iis-7.5


【解决方案1】:

你可以加密连接字符串

看看这个: https://msdn.microsoft.com/en-us/library/dx0f3cf2(v=vs.85).aspx

引用:以下示例显示了如何为名为 SampleApplication 的应用程序加密 Web.config 文件的 connectionStrings 部分:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

【讨论】:

  • 它是链接到 IIS 的源代码的发布,但是有很多工具可以反转发布并拥有源代码,所以如果我在 web.config 中对其进行加密,我将拥有在我的代码中解密它,如果他们反转发布代码,他们将知道如何解密连接字符串
  • 我认为上述过程不需要您在代码中做任何事情,加密/解密由运行应用程序池的权限处理。也看看这个 - 这个问题已经出现了 - 你在这里有什么答案吗? stackoverflow.com/questions/1706613/…
【解决方案2】:

你可以把你的连接字符串放在applicationHost这个路径中:

%windir%\system32\inetsrv\config

网站上方有一个你必须知道的继承链:

你可以看到更多关于它的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2023-03-13
    • 1970-01-01
    • 2011-11-26
    • 2011-07-27
    • 2012-03-22
    相关资源
    最近更新 更多