如何在asp.net web.config httpRuntime for 3.5框架中进行编写

本文关键字:框架 for asp net web httpRuntime config | 更新日期: 2023-09-27 18:21:58

此属性在.NET Framework 4.0版本中是新属性。我在.NET Framework 4.0版本的解决方案中有web.config文件

<system.web>
    <httpRuntime  encoderType="Web.AntiXss.AntiXssEncoder, Web.AntiXss"/>

这很好,但如果我把版本改为3.5,我会得到这个erorr

Unrecognized attribute 'encoderType'. Note that attribute names are case-sensitive.

encoderType属性仅在4.0版本中,如何将其重写为3.5?

编辑
或者我如何在.net 3.5项目中使用microsoft AntiXs库?
我把这篇文章用于.net 4.0http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx

如何在asp.net web.config httpRuntime for 3.5框架中进行编写

这仅适用于.Net4

Gets or sets the name of a custom type that 
        can be used to handle HTML and URL encoding.

你必须明白,这是一个从Net4核心调用的函数的内部变化,这个函数在Net3.5及更低版本上不存在,所以这不是他们写它的方式,他们只是不存在。

参考:http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.encodertype.aspx

更多信息

这个parametere实际上是一个替换类System.Web.Util.HttpEncoder的选项,该类也存在于Net3.5上,但没有核心替换选项。

System.Web.Util.HttpEncoder已经准备好了,而且Net.4实际上插入了更多的功能。用AntiXccEncoder代替它,也许你可以获得更多的控制权,但如果不是,那就不是世界末日(HG Wells)。

此外,我还用一些代码检查是否可以替换此调用,在我看来这是不可能的,因为它在太多点上被调用,例如它对所有控件属性的调用!,在url调用上,在html渲染上,以及它在Net4中的原生特性,不值得制作这么多代码来将HttpEncoder更改为AntiXccEncoder。

也许你需要专注于你可能害怕攻击的页面代码,并能够正确处理输入数据。

如果您使用的.NET版本早于4.5,则需要下载并包含该库作为对项目的引用,然后将早期的库名称用于encodeType设置,如下所示。

<httpRuntime encoderType="Microsoft.Security.Application.AntiXssEncoder, AntiXssLibrary" />