Package org.craftercms.commons.xml
Class XmlSecurityUtils
java.lang.Object
org.craftercms.commons.xml.XmlSecurityUtils
Factories for XML parsers hardened against XXE and related attacks.
Returned parser instances are not thread-safe and must not be cached or shared across threads. Create a new instance for each parse operation.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic DocumentBuilderCreates a JAXPDocumentBuilderthat rejects DOCTYPE declarations and external entities.static org.dom4j.io.SAXReaderCreates a dom4jSAXReaderthat rejects DOCTYPE declarations and external entities.
-
Field Details
-
DISALLOW_DOCTYPE_DECL
- See Also:
-
EXTERNAL_GENERAL_ENTITIES
- See Also:
-
EXTERNAL_PARAMETER_ENTITIES
- See Also:
-
LOAD_EXTERNAL_DTD
- See Also:
-
DECLARATION_HANDLER
- See Also:
-
ENTITY_EXPANSION_LIMIT
- See Also:
-
-
Method Details
-
createDocumentBuilder
Creates a JAXPDocumentBuilderthat rejects DOCTYPE declarations and external entities.- Returns:
- a hardened document builder
- Throws:
ParserConfigurationException- if the parser cannot be configured securely
-
createSaxReader
Creates a dom4jSAXReaderthat rejects DOCTYPE declarations and external entities.- Returns:
- a hardened SAX reader
- Throws:
SAXException- if a security feature cannot be configured
-