从URL限制文件访问

时间:2012-08-14 12:09:25

标签: asp.net redirect hosting web-hosting directory-listing

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

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

1 个答案:

答案 0 :(得分:6)

您可以通过授权对此进行限制。将web.config文件放在此文件夹中:

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

编辑:

这不起作用,因为rar文件不是由asp.net处理的,所以另外你需要为asp.net添加一个处理程序来处理像aspx文件这样的rar文件:

对于经典模式:

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

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

<system.webServer>
  <handlers>
    <add name="rar" path="*.rar" verb="*" type="System.Web.UI.PageHandlerFactory"/>
  </handlers>
</system.webServer>