惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

博客园 - 天寒

oracle 11gr2 2.04 em 更改 hostname 后无需重建资料库的方法 emca 更改监听端口 centos 安装vmware 9.02 报 Failed to load module "pk-gtk-module" "canberra-gtk-module" can not update ICEAuthority file mint或则ubuntu IIS使用ASP.NET State Service存储Session 16个出色的开源软件 教程:创建简单的 ETL 包 SQL Server 2005 Beta 2 Transact-SQL 增强功能 深度看点 Linq查询与性能解析 EF v2 and Data Access Architecture Best Practices ASP.NET Dynamic Data Entity Framework Resources [转]PDC:Anders谈C# 4.0:新功能和展望 [转]从C# 2.0新特性到C# 3.5新特性 [转]探寻C# 3.5新特性 Eclipse反编译插件: Jodeclipse与JadClipse iis 6 tuning [转载]OllyDBG 入门系列(一)-认识OllyDBG C# new and override
IIS 静态文件 如doc附件的安全控制
天寒 · 2013-01-10 · via 博客园 - 天寒

问题描述:

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 中配置

<httpHandlers>
<add verb="*" path="*.doc" type="System.Web.StaticFileHandler" />
</httpHandlers>

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

<?xml version="1.0"?>
<configuration>
 <system.web>
  <authorization>
    <deny users="?"/>
  </authorization>
 </system.web>
</configuration>

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