1

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

我需要保留这个输入:

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

使用anti 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>";

这很好,如果有人在客户端弄乱我的代码,但我还需要数据属性标签才能工作!

4

1 回答 1

1

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

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

于 2011-03-18T14:49:42.463 回答