RSS描述html在.NET中清理

时间:2009-02-23 20:33:46

标签: .net rss sanitization

我想编写一个使用RSS的应用程序。我希望能够将RSS提要的项目描述中的一些项目显示为HTML,例如图像,链接,br等。但是,我不希望任何嵌入式脚本运行,unruly css元素等.I也不想重新发明轮子。他们的任何库是否只删除了正确的HTML级别吗?

我遇到的问题是我正在从phpBB生成一个RSS提要,所以这些帖子确实已经有了br和一个(链接)标签。但是,用户可以在帖子中粘贴脚本标记,它将被正确编码以在页面上显示为文本。

但是,当我在RSS阅读器中查看帖子时,帖子中的所有html都被编码为<和> ......等。这模糊了br标签和(小于)脚本(greaterthan)标签之间的区别,因为它们都出现在& l t;和& g t; ​​

我觉得这应该更容易,我只是错过了一些明显的东西......我希望。

2 个答案:

答案 0 :(得分:0)

您的问题并不十分清楚,但通常在尝试清理html输出时,您只想允许标签的白名单。

这是strip_tags的javascript实现,您可以轻松地适应.net

http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strip_tags/

答案 1 :(得分:0)

我明白了。我使用的RSS脚本导致html编码的尖括号与rss feed中的真实html“混合”

这是源于phpBB的源代码:

<a href="link">link</a>
&lt;script&gt;alert("hack you");&lt;/script&gt;

但是在我的RSS Feed中,它被生成为:(注意转义的html和非转义的html之间没有区别)

&lt;a href="link"&gt;link&lt;/a&gt;
&lt;script&gt;alert("hack you");&lt;/script&gt;

我对rss.php文件进行了更改,因此将其转换为:

&lt;a href="link"&gt;link&lt;/a&gt;
&amp;lt;script&amp;gt;alert("hack you");&amp;lt;/script&amp;gt;

这样就可以正确显示在RSS Feed中。

谢谢!