限制下载 Web.Config 中的一般文件

igo*_*jrr 3 asp.net iis web-config

我需要限制客户端对某些特定文件的访问。我想在我的 web.config 中执行此操作,而不是依赖于管理 IIS 的人员。

我知道可以限制对文件类型(例如,所有 XML 文件)的访问,如下所示:如何限制指定文件类型的下载

但是,如何指定确切的文件?例如,我需要阻止直接访问 ~/test/mytest.xml 中的文件 请记住,位于 ~/secondtest/mytest.xml 的此文件的另一个副本应该仍然可供客户端使用。

唯一的选择是在 IIS 中?我无法在 web.config 中控制它?

谢谢!

Ari*_*yak 5

您可以在 web.config 中直接指定文件名,如下所示。

<system.web>
    <httpHandlers>
        <add path="test/mytest.xml" verb="*" type="System.Web.HttpForbiddenHandler"/>
    </httpHandlers>
</system.web>
Run Code Online (Sandbox Code Playgroud)

对于 IIS7 以后使用以下。

<system.webServer>
    <handlers>
      <add path="test/mytest.xml" verb="*" type="System.Web.HttpForbiddenHandler" name="XML"/>
    </handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)