我们正在使用Xerces C ++ DOMLSParser。我想禁用外部实体,但找不到DOMLSParser的任何内容。
如何禁用加载外部实体以防止XXE攻击?
答案 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
)