我有一个托管在 ASP.NET 中的站点。现在在我的站点中有一个名为“upload”的文件夹,其中保存了一些 .rar 文件供私人使用。当我直接键入 url 时,文件被下载。假设文件位于“http://www.mathew.com/uploads/mine.rar”,如果我在浏览器中输入 url 并回车,即使目录列表不存在,它也会下载文件。
我想限制这个..我怎样才能实现它。谢谢, 马修
我有一个托管在 ASP.NET 中的站点。现在在我的站点中有一个名为“upload”的文件夹,其中保存了一些 .rar 文件供私人使用。当我直接键入 url 时,文件被下载。假设文件位于“http://www.mathew.com/uploads/mine.rar”,如果我在浏览器中输入 url 并回车,即使目录列表不存在,它也会下载文件。
我想限制这个..我怎样才能实现它。谢谢, 马修
您可以通过授权来限制它。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.5
and VS 2012
)
<system.webServer>
<handlers>
<add name="rar" path="*.rar" verb="*" type="System.Web.UI.PageHandlerFactory"/>
</handlers>
</system.webServer>