asp.net – 如何限制指定文件类型的下载
|
我想限制我的网络应用程序,以便无法下载/显示.txt文件.
我在配置文件中尝试了这个: <system.web>
<httpHandlers>
<add verb="*" path="*.txt" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web>
……但它没有效果.我使用的是IIS7,应用程序是.NET3.5,这可能与它有关吗?我知道这实际上适用于.NEt 1.0 1.1和2.0. 我在文档中注意到了这个(add httpHandlers),需求部分:
…表示.NET 3和IIS7不支持此… 在IIS7中指定了哪里? 解决方法请查看此MS支持文章,了解如何实现此目的: HOW TO: Use ASP.NET to Protect File Types.它涉及设置IIS以将这些请求转发到ASP.NET,然后设置web.config以阻止所需的文件类型,例如:(这适用于您的开发机器和IIS7之前 – 请务必在下面看到) <system.web>
<httpHandlers>
<add verb="*" path="*.ini" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web>
根据httpHandlers Element page,从.NET 2.0开始默认禁止以下扩展(.ini不是其中之一): * .asax,* .ascx,*.master,* .skin,* .browser,*.sitemap,*.config,*.cs,* .csproj,*.vb,* .vbproj,* .webinfo,*. licx,* .resx,* .resources,* .mdb,* .vjsproj,* .java,*.jsl,* .ldb,* .dsdgm,* .ssdgm,* .lsad,* .ssmap,* .cd,* .dsprototype,* .lsaprototype,* .sdm,* .sdmDocument,* .mdf,* .ldf 编辑:这适用于IIS 7.0之前的IIS版本. IIS 7.0添加了一种额外的操作模式,称为集成模式(ASP.NET的默认模式),它需要将处理程序放在< system.webServer> /< handlers>中.而不是< system.web> /< httpHandlers>.我在此页面上添加了一些更多信息和链接到@ awe的答案,请查看更多详细信息. 重要!对于IIS 7.0或更高版本 如编辑中所指定,您需要放置< add>元素在不同的地方,规则也需要一个名称 – 如果你没有指定名称,你将在重新启动时得到500内部错误 <system.webServer>
<handlers>
<add name="IgnoreIni" verb="*" path="*.ini" type="System.Web.HttpForbiddenHandler" />
</handlers>
</system.webServer> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 失败的ASP.NET MVC路由.这是一个错误还是角
- asp.net-identity – 使用SQL Server而不是LocalDB的Web AP
- asp.net-mvc – 属性路由不工作在区域
- asp.net-mvc – 更新到MVC 5后,iframe不再有效
- asp.net-mvc – 在ASP.Net MVC中定义自定义URL路由
- asp.net – 使用“DataType.Upload”属性为属性生成文件上传
- ASP.NET – 如何有效地使用设计模式而不需要过度工程!
- asp.net-mvc – ASP.NET MVC文件名下划线
- ASP.NET:web.config在哪里/如何缓存?
- ASP.net会员 – 添加角色
