当我使用 fortify 工具进行扫描时,我在“XML 外部实体注入(inject)”下遇到了一些问题。
TransformerFactory trfactory = TransformerFactory.newInstance();
这是显示错误的地方。我已经按照 fortify 的建议进行了以下修复
trfactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
trfactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
但问题仍未解决。如何解决这个问题?
最佳答案
TransformerFactory trfactory = TransformerFactory.newInstance();
trfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
这就足够了。
关于java - 针对 XML 外部实体注入(inject)的 Fortify 修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247243/