0

我有一个应用程序,其中有一个包含连接字符串的 XML 文件。当点击具有确切文件名的 URL 时,它会在浏览器中自然地打开文件。

现在我需要限制这个文件浏览,我不能改变那个代码来做任何重定向或其他任何事情。

我尝试的是在 web.config 的安全标签中使用denyurlsequences,但它也限制了应用程序访问文件,这使得应用程序停止工作。

我正在使用 .NET Framework 2.0

4

2 回答 2

1

ASP.NET 管道不支持“.xml”文件扩展名,这就是为什么您不能将其添加到 web.config 并对其进行限制的原因。您可以做的是将 xml 文件复制到应用程序的“App_Data”文件夹中。

此文件夹的目的是向浏览器/用户隐藏它的文件,并且也是为此类数据构建的。

如果“App_Data”文件夹不存在,则创建它:

Right click on your project -> Add ASP.NET Folder -> App_Data

或者只是添加一个文件夹并将其命名为 App_Data

于 2013-10-25T12:59:11.407 回答
0

我知道它的老问题,但这个答案可能对其他人有帮助。我在 IIS 8.5 上进行了以下配置(确保在 IIS 上安装了请求过滤。)

  1. 打开 IIS 并单击您的应用程序虚拟目录。
  2. 在功能视图中,单击请求过滤,然后转到隐藏段选项卡 - 此选项卡将包含隐藏文件或文件夹的列表。(如 web.config、APP_data 文件夹等...)
  3. 通过单击添加隐藏段并提及要隐藏和测试的文件/文件夹名称来添加要从浏览中隐藏的文件或文件夹。

在我们的应用程序中,我们有一个存储在应用程序文件夹中的主 xml 文件,为了拒绝浏览这个 xml 文件,我在隐藏段中添加了文件夹名称并且它起作用了。

于 2019-06-11T19:13:49.860 回答