原创

XML外部实体引用限制不当问题

温馨提示:
本文最后更新于 2024年04月12日,已超过 37 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

我在使用 unmarshal 解析 XML 时遇到了这个问题。错误消息”该方法使用 unmarshal 加载和解析 XML。此 XML 是在用户输入 FileReader 接收之前的。请注意,unmarshal 设置为自动加载并替换 XML 中的任何 DTD实体引用,包括对外部文件的引用。

我的代码是

protected static XXType readXXfromFile(String filename) {
SAXParserFactory spf = SAXParserFactory.newInstnace();
spf.setFeature(, true);
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
spf.setXIncludeAware(false);

InputSource source = new InputSource(new FileReader(filename));
Source xmlSource = new SAXSource(spf.newSAXParser().getXMLReader(), source);
JAXBContext jaxbContext = JAXBContext.newInstance(XXType.class);
Unmarshaller marshaller = jaxbContext.createUnmarshaller();
return marshaller.unmarshal(xmlSource, XXType.class).getValue();
}

也许代码完成了它的工作,但它引发了上述漏洞问题。我错过了什么吗?

请指导。

谢谢。

正文到此结束
热门推荐
本文目录