我的 ASP.NET 网站上有几个文件仅供应用程序使用。目前,只需使用 URL 即可在浏览器中查看它们。有没有办法在不实际移动文件的情况下防止这种情况发生,或者我是否需要将文件移动到其他目录,例如_private
?
答案1
如果你能够在服务器上安装软件,那么你可以安装微软的URLScan限制 IIS 提供哪些文件。但这将针对整个服务器,而不仅仅是应用程序。
您还可以在站点上使用 web.config 文件执行此操作,详细信息如下这里,它们分别适用于IIS 5和.net 1.1,但原理是相同的。
答案2
使用 IIS 管理器通过导航到文件、右键单击它并从读取复选框中删除复选标记来单独阻止它们。
或者
使用 IIS 管理器为文件类型创建规则(请参阅此网页:support.microsoft.com/kb/815152)
答案3
仅供内部使用的配置和数据文件应放在 App_Data 文件夹中:
App_Data 文件夹
为了提高 ASP.NET 应用程序所用数据的安全性,已为 ASP.NET 应用程序添加了一个名为 App_Data 的新子文件夹。存储在 App_Data 文件夹中的文件不会响应直接 HTTP 请求而返回,这使得 App_Data 文件夹成为应用程序存储数据的推荐位置,包括 .mdf(SQL Server Express Edition)、.mdb(Microsoft Access)或 XML 文件。请注意,当使用 App_Data 文件夹存储应用程序数据时,应用程序的身份对 App_Data 文件夹具有读写权限。