3

我有一个托管在 ASP.NET 中的站点。现在在我的站点中有一个名为“upload”的文件夹,其中保存了一些 .rar 文件供私人使用。当我直接键入 url 时,文件被下载。假设文件位于“http://www.mathew.com/uploads/mine.rar”,如果我在浏览器中输入 url 并回车,即使目录列表不存在,它也会下载文件。

我想限制这个..我怎样才能实现它。谢谢, 马修

4

1 回答 1

6

您可以通过授权来限制它。web.config在此文件夹中放置一个文件:

<configuration>
    <system.web>
        <authorization>
            <deny users="*"/>
        </authorization>
    </system.web>
</configuration>

编辑 :

这将不起作用,因为 rar 文件不由 asp.net 处理,因此您还需要为 asp.net 添加一个处理程序,将 rar 文件视为 aspx 文件:

对于经典模式:

<system.web>
  <httpHandlers>
    <add verb="*" path="*.rar" type="System.Web.UI.PageHandlerFactory" />
  </httpHandlers>
</system.web>

对于集成模式(默认为iis 7.5and VS 2012

<system.webServer>
  <handlers>
    <add name="rar" path="*.rar" verb="*" type="System.Web.UI.PageHandlerFactory"/>
  </handlers>
</system.webServer>
于 2012-08-14T12:24:30.437 回答