关于Html编码的问题

时间:2010-07-16 21:16:28

标签: c# jquery security jquery-plugins datatable

我使用的是jquery数据表和MS XSS库。

我做了这个

AntiXss.HtmlEncode(MyDate.ToString("MM/dd/yyyy h:mm tt"))));

这会呈现这个

07/22/2010 4:04 PM

所以它全部编码。无论出于何种原因,这都会使数据流混乱。它无法弄清楚如何排序。

那为什么要编码斜线和点?他们有什么不好的?当它在浏览器中显示时看起来像07/22/2010 4:04 PM

所以我猜测数据表只是接受编码版本而不知道如何处理它。

我该怎么办?我想对数据进行编码,但如果它搞砸我的排序也不好。我应该使用安全的html片段吗?

2 个答案:

答案 0 :(得分:0)

老实说,我不知道涉及斜线和点的XSS攻击。但是许多字符具有相同的htmlentitiy并且正在进行此转换,但我认为这不是由于安全问题。

在安全性方面,令人讨厌的字符是这些4:'"<>。另外,方法AntiXss.HtmlEncode()应该用于用户输入以防止XSS。在不受攻击者影响的日期运行此功能没有多大意义......(当然除非你是时间旅行者的防守。)

答案 1 :(得分:0)

不要对日期进行编码,只需对日期字符串的格式进行健全性检查。只要它形成一个良好的日期,就没有脚本注入或其他恶作剧的危险。