当前位置首页 > IIS知识

IIS静态文件如doc附件的安全控制

阅读次数:304 次  来源:admin  发布时间:

问题描述:

http://www.qq.com/downloadFloder/12345.doc

IIS + asp.net 下,如果用户知道上面的文件路径,就可以直接下载doc类型的附件。

实现方法:

大概说说,默认情况下,IIS + asp.net是两层分别处理,

1)如果用户请求*.doc,*.txt的文件,IIS 直接返回结果给用户。

2)如果用户请求*.aspx,IIS将处理转交给asp.net。

而我们的form验证是在asp.net层的,如果控制*.doc安全话,就让IIS把*.doc文件的处理交给asp.net,就是在IIS属性配置映射。

配置:

1)IIS6站点->属性->主目录 ->应用程序设置 配置->添加映射

可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

扩展名:.doc

动作: 全部 或者 限制为GET,HEAD,POST,DEBUG

2)在web.config 中配置

lt;httpHandlers>

lt;add verb="*" path="*.doc" type="System.Web.StaticFileHandler" />

lt;/httpHandlers>

3)在下载目录downloadFolder配置web.config 限制非验证用户

lt;?xml version="1.0"?>

lt;configuration>

lt;system.web>

lt;authorization>

lt;deny users="?"/>

lt;/authorization>

lt;/system.web>

lt;/configuration>

如果进一步对权限进行控制,则可以自己写个类代替System.Web.StaticFileHandler接管文件的处理。

上一篇:打开网页错误2147467259:错误描述:未指定的错误IIS限XP系统
下一篇:IIS回收后首次访问慢问题