如何安全地解析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(...);