【发布时间】:2015-11-27 06:19:00
【问题描述】:
当我在这个程序上运行 HP Fortify 时:
DOMSource domSource = new DOMSource(document);
ByteArrayOutputStream bos=new ByteArrayOutputStream();
StreamResult result = new StreamResult(bos);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer;
try {
transformer = tf.newTransformer();
transformer.transform(domSource, result);
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我收到此错误:
在 ItemServlet.java:92 中配置的 XML 解析器不会阻止也不会限制外部实体解析。这会将解析器暴露给 XML 外部实体攻击。
根据这个blog,应该设置以下功能。
tf.setFeature("http://xml.org/sax/features/external-general-entities", false);
tf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
但问题是我的TransformerFactory实例不支持这种方法。
【问题讨论】: