为什么MS anti xss library(v4)会删除html 5数据属性

时间:2011-03-18 11:43:13

标签: c# html5 security antixsslibrary

AntiXss库似乎剥离了html 5数据属性,有人知道为什么吗?

我需要保留此输入:

<label class='ui-templatefield' data-field-name='P_Address3' data-field-type='special' contenteditable='false'>[P_Address3]</label>

使用反xss库(v4.0)的主要原因是为了确保不会解析无法识别的样式属性,这是否可能?

代码:

var result = Sanitizer.GetSafeHtml(html);

修改

下面的输入会导致删除整个样式属性

输入:

var input = "<p style=\"width:50px;height:10px;alert('evilman')\"/> Not sure why is is null for some wierd reason!<br><p></p>";

输出:

var input = "<p style=\"\"/> Not sure why is is null for some wierd reason!<br><p></p>";

哪个好,如果有人在客户端使用我的代码而烦恼,但我还需要数据属性标签才能工作!

1 个答案:

答案 0 :(得分:1)

我认为你的意思是消毒剂,而不是编码器。它正在做它应该做的事情 - 它根本不理解HTML5或识别属性,所以它剥离它们。有很多方法可以通过样式进行XSS。

我不敢自定义安全列表,代码库根本不允许这样做 - 我知道有很多人想要这些,但需要完全重写才能支持它。 / p>