如何在xerces C ++ DOMLSParser中禁用外部实体解析

时间:2016-12-14 09:53:53

标签: xml xerces xerces-c xxe

我们正在使用Xerces C ++ DOMLSParser。我想禁用外部实体,但找不到DOMLSParser的任何内容。

如何禁用加载外部实体以防止XXE攻击?

1 个答案:

答案 0 :(得分:0)

xercesc::DOMImplementation* impl = xercesc::DOMImplementationRegistry::getDOMImplementation (u"LS");
xercesc::DOMLSParser* parser = impl->createLSParser(xercesc::DOMImplementationLS::MODE_SYNCHRONOUS, nullptr);
xercesc::DOMConfiguration* conf = parser->getDomConfig();
conf->setParameter(xercesc::XMLUni::fgDOMEntities, false);

文档:https://xerces.apache.org/xerces-c/program-dom-3.html(搜索fgDOMEntities