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>";
哪个好,如果有人在客户端使用我的代码而烦恼,但我还需要数据属性标签才能工作!
答案 0 :(得分:1)
我认为你的意思是消毒剂,而不是编码器。它正在做它应该做的事情 - 它根本不理解HTML5或识别属性,所以它剥离它们。有很多方法可以通过样式进行XSS。
我不敢自定义安全列表,代码库根本不允许这样做 - 我知道有很多人想要这些,但需要完全重写才能支持它。 / p>