DocumentBuilderFactory

DocumentBuilderFactory

如何安全地解析XML文档,使其不允许外部实体作为传入XML文档的一部分?我正在使用DOM解析器-

Document test = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(byteArrayInputStream))

最佳答案

您可以通过设置 FEATURE_SECURE_PROCESSING ;来请求安全处理,即是否禁止外部实体取决于DocumentBuilderFactory的提供者,但这很可能是候选者。

DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
f.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
Document test = f.newDocumentBuilder.parse(...);

07-26 07:53