【发布时间】:2015-01-21 16:35:22
【问题描述】:
我有一个返回 XML 的 jquery ajax 调用。在服务器上,我们使用 Microsoft 的 Antixss 库对 xml 属性进行编码,特别是调用 Encoder.XmlAttributeEncode。
服务器上的结果已正确编码
<data><item att1="Test" val="<script>alert("XSSFIX");</script>" /></data>
但是当 xml 返回到客户端时,xml 显示已解码
<data><item att1="Test" val="<script>alert("XSSFIX")</script>;" /></data>
属性被拉出并附加到 DOM。查看处理这种情况的最佳实践。
更新 #1 在客户端上,我动态创建一个表并插入类似于下面的 xml 属性的值。最后,我将表格(字符串)附加到 div 中。
...
tableMarkup += "<tr><td>" + f.getAttribute('att1') + "</td><td>" + f.getAttribute('val') + "</td></tr>";
placeHolderDiv.append($(tableMarkup))
【问题讨论】: