当前位置:  开发笔记 > 编程语言 > 正文

C#中的HtmlEncode

如何解决《C#中的HtmlEncode》经验,为你挑选了2个好方法。

有没有办法在不使用System.Web.HttpUtility.HtmlEncode方法的情况下对某些文本进行html编码?我想使用.NET 3.5 Client Profile部署我的桌面应用程序,问题是System.Web.dll它不是.NET 3.5 Client Profile的一部分,因此我必须找到一种解决方法.



1> Joel Fillmor..:

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

System.Net.WebUtility.HtmlEncode



2> dthrasher..:

由于.NET的编码方式存在问题和不一致,Rick Strahl推出了自己的编码方法.在没有System.Web的情况下查看关于Html和Uri字符串编码的帖子.

更新:在检查其他答案提供的链接后,Microsoft提供的AntiXSS库似乎是解决此问题的理想方法.他们在Codeplex上提供了AntiXSS 4.3的源代码:http://antixss.codeplex.com/

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

请注意,根据2014年6月的4.3发行说明,这是包含清洁剂的最后一个版本,因为它过于激进而从用户社区获得了负面反馈.因此,如果它是您想要的消毒剂,您应该查看AntiSamy或使用HTML敏捷包构建您自己的消毒剂.


对AntiXCSS的评论绝对是负面的:http://wpl.codeplex.com/releases/view/80289#ReviewsAnchor和微软下载链接已被破坏.
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有