【问题标题】:Production issues - disable ASP.NET debugging, restrict access to directory生产问题 - 禁用 ASP.NET 调试,限制对目录的访问
【发布时间】:2011-12-12 07:35:54
【问题描述】:

我将我最新的网站部署到生产环境,现在客户发现我的部署存在以下问题。并且有待修复。

我只需要大家对以下内容进行澄清

  1. 禁用 ASP.NET 调试

我已经在 web.config 中设置了编译 debug="false",除此之外还有什么需要做的吗?

  1. 限制对目录的访问

对为用户定义访问权限有什么想法吗?

【问题讨论】:

    标签: asp.net iis iis-7


    【解决方案1】:

    你试过这个吗:

    <compilation 
        debug="false"
    />
    

    在您的 web.config 上

    HOW TO: Disable Debugging for ASP.NET Applications

    ScottGu's Blog

    这将显示用户得到的确切错误。

    如果您的应用程序有一个 download.upload 文件到您需要的文件夹中

    共享文件夹名称“YourFileFolder”并添加具有读/写权限的“网络服务”帐户

    问候

    【讨论】:

      【解决方案2】:

      machine.config(only) 中有一个配置设置叫做:

            <configuration>
              <system.web>
                  <deployment retail="true"/>
              </system.web>
          </configuration>
      

      这个参数会自动关闭debugging features(tracing,compilation,...)。

      为了您的安全权限,请仅将您目录的访问权限授予 iis 池用户。

      要在 IIS7 中禁用浏览,请将其添加到您的 web.config:

       <system.webServer>
          <modules runAllManagedModulesForAllRequests="true" />
           <directoryBrowse enabled="false" />
        </system.webServer>
      

      【讨论】:

      • 视情况而定。您运行的是 IIS7 还是 IIS6?通常,对于 IIS6,它是运行池的网络服务帐户。对于 IIS7,默认情况下,具有池名称的用户运行该池。但最佳做法是创建一个特定于您的应用的用户,并将其权限限制在最低限度。
      • IIS_IUSRS 是一个特殊的组。默认情况下,每个 apppool 帐户都属于该组。因此,在您的应用程序文件夹上授予该组权限将起作用。但最佳实践仍然是为您的矿池创建一个唯一帐户。见learn.iis.net/page.aspx/140/…
      • 1.是 machine.config 还是 web.config?在文章中它是 machine.config 2。例如,如果不为我的应用程序池创建单独的帐户并且我仍然使用 IIS_IUSRS,我需要授予什么权限才能禁用目录浏览?谢谢
      • 您可以将其放在 machine.config 或 web.config 中。目录浏览是在 IIS 级别完成的,而不是文件级别。当您转到 IIS 7 控制台时,转到您的网站,在 IIS 部分(第二行)中有一个名为 Directory Browsing 的属性。它在 IIS 6 中也可用。
      • 我可以在 IIS 中找到目录浏览,请问如何配置以禁用目录浏览
      【解决方案3】:

      就我而言(错误:

      应该在 web.config 文件中禁用调试

      ) 我基本上把 web.config 变成了:

         <system.web>
          <compilation debug="true" targetFramework="4.0" />
      </system.web>
      

      注意:我使用 Visual Studio 2010

      【讨论】:

      • 你确定不是debug="false"
      • 它是“假”,我得到这个“页面无法在调试模式下运行,因为在 web.config 文件中未启用调试”错误,而不是我将其更改为“真”注:我正在使用 Visual Studio 2010
      • 那么这不是这个问题的答案。
      • 我找不到正确的答案,我希望这能帮助那些与我一样努力奋斗的人。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多