C# C语言中的HTML代码#

C# C语言中的HTML代码#,c#,C#,是否有任何方法可以在不使用System.Web.HttpUtility.HtmlEncode方法的情况下对某些文本进行html编码?我想使用.NET 3.5客户端配置文件部署我的桌面应用程序,问题是System.Web.dll不是.NET 3.5客户端配置文件的一部分,因此我必须找到解决方法。您能包括吗?它有另一种编码方法。由于.NET的编码方式存在问题和不一致,里克·斯特拉尔推出了自己的编码方法。看看他在网上的帖子 更新:查看其他答案提供的链接后,Microsoft提供的AntiXSS库似乎是

是否有任何方法可以在不使用System.Web.HttpUtility.HtmlEncode方法的情况下对某些文本进行html编码?我想使用.NET 3.5客户端配置文件部署我的桌面应用程序,问题是System.Web.dll不是.NET 3.5客户端配置文件的一部分,因此我必须找到解决方法。

您能包括吗?它有另一种编码方法。

由于.NET的编码方式存在问题和不一致,里克·斯特拉尔推出了自己的编码方法。看看他在网上的帖子

更新:查看其他答案提供的链接后,Microsoft提供的AntiXSS库似乎是解决此问题的理想方案。他们在Codeplex上提供了AntiXSS 4.3的源代码:

AntiXSS库包含用于编码HTML、URL、JavaScript和XML的有用方法。它基于安全的白名单模型,因此规范中不允许的任何内容都是禁止的


请注意,根据2014年6月4.3版的发行说明,这是最后一个包含消毒剂的版本,因为它从用户社区获得了过度攻击性的负面反馈。所以,若它是你们想要的消毒剂,你们应该看看或者用它来制造你们自己的。

你们可以看看。它有自己的编码机制,可以替代框架的HtmlEncode。

我也是AntiXSS库的粉丝,但值得一提的是,.net v4包含了一个新的实用程序类,用于在System.dll中编码。因此,如果您可以选择迁移到.NETV4,则可以使用客户机配置文件


对AntiXCS的评论绝大多数是负面的:microsoft下载链接被破坏。更新了我的回答,包括对4.3 AntiXSS版本的评论,并删除了破坏的链接。我同意@Joel Fillmore的观点,如果您使用的是最新版本的.Net,System.Net.WebUtility.HtmlEncode方法就是最好的选择。