我有一个网站,我也有一个“UserFiles”目录,受保护以在浏览器中查看其内容:
此虚拟目录不允许列出内容。
问题是我这里有一些文件,如果你知道文件的名称,例如:
http://example.com/UserFiles/file.ppt
你可以下载它。
有没有办法从web.config中保护它?或者,如果用户尝试访问此项,请重定向到登录页面?
请注意,我不使用表单身份验证,但自定义登录和Windows身份验证已启用。
谢谢,
更新:我暂时会尝试这一点:http://www.dotnetcurry.com/ShowArticle.aspx?ID=270
答案 0 :(得分:2)
如果您仍希望通过web.config
执行此操作,则web.config
文件应在httpHandlers
部分下方显示:
<system.web>
<httpHandlers>
<add verb="*" path="*.ppt" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web>
这将阻止所有.ppt文件。
答案 1 :(得分:0)
如果有人需要下载其中一个文件,您是否只是将其重定向到与您提供的网址类似的网址?
另一种方法是定义一个返回文件的页面,然后您可以将所需的权限检查放入其中。使用此方法还可以将该用户文件夹完全移出Web文件夹,因此这些URL根本不可用。
例如:
C:\UserFiles\
C:\inetpub\MyWebFolder\
您只需确保运行Web应用程序的用户帐户对C:\ UserFiles \文件夹具有适当的权限。