5

我在 Windows Server 2008 R2 上运行 IIS 7.5。浏览“/bin”文件夹时出现错误
404: file not found我了解这是 Microsoft 的一项安全政策。

我试着做这里写的,但它没有解决问题。有任何想法吗?

编辑:
应该注意我没有安全问题。我运行 IIS 以在专用网络中进行目录浏览。最终我需要对其进行爬网和索引。问题是“/bin”和“/AppConfig”下的页面因为404错误没有被爬取。

我只需要这个问题的解决方案。同样,这里没有安全问题。

4

2 回答 2

12

Bin 文件夹不是开发人员放置网页的地方。

在 IIS 7.5 中,您可以配置

  1. 打开 Internet 信息服务 (IIS) 管理器
  2. 在“连接”窗格中,转到要修改请求过滤设置的连接、站点、应用程序或目录。
  3. 在主页窗格中,双击请求过滤。
  4. 请求过滤窗格中,单击隐藏段选项卡
  5. 选择要显示的相对路径(BIN 文件夹),然后单击“操作”窗格中的“删除”。

同样可以通过 web.config 完成

<configuration>
  <system.webServer>
   <security>
     <requestFiltering>
        <hiddenSegments applyToWebDAV="false">
           <remove segment="Bin" />
        </hiddenSegments>
     </requestFiltering>
   </security>
  </system.webServer>
</configuration>

无论如何,为了避免在开发服务器和任何部署服务器上出现问题,我认为最简单的解决方案是将这些页面移动到另一个文件夹


在这里阅读:

ASP.NET recognizes certain folder names that you can use   
for specific types of content.  
The following table lists the reserved folder names and the type   
of files that the folders typically contain.

Note
The content of application folders, except for the App_Themes folder,
is not served in response to Web requests,
but it can be accessed from application code.
  • App_Browsers包含 ASP.NET 用来识别各个浏览器并确定其功能的浏览器定义(.browser 文件)。
  • App_Code包含共享类和业务对象的源代码
  • App_Data包含应用程序数据文件,包括 .mdf 数据库文件、XML 文件和其他数据存储文件。
  • App_GlobalResources 包含编译到具有全局范围的程序集的资源(.resx 和 .resources 文件)。
  • App_LocalResources包含与应用程序中的特定页面、用户控件或母版页关联的资源(.resx 和 .resources 文件)
  • App_Themes包含定义 ASP.NET 网页和控件外观的文件(.skin 和 .css 文件,以及图像文件和通用资源)的集合。
  • App_WebReferences包含参考合同文件(.wsdl 文件)、模式(.xsd 文件)和发现文档文件(.disco 和 .discomap 文件),可让您创建 Web 参考以供在应用程序中使用。
  • Bin 包含要在应用程序中引用的控件、组件或其他代码的已编译程序集(.dll 文件)。
于 2012-07-04T10:30:33.653 回答
0
  • 通过网络共享访问 \bin 文件夹,例如\\myserver\mysite\bin
  • 编写 ashx 处理程序或 asmx 网络服务,它将为您扫描 \bin 文件夹并为您返回结果,例如Directory.GetFiles(Server.MapPath("~\bin"))
于 2012-07-04T08:09:18.813 回答