Protection de l'API Java pour le traitement XML (JAXP) contre les entrées mal formées

Si votre application prend des fichiers XML, XSD ou XSL non sûrs en entrée, vous pouvez appliquer des limites spécifiques lors du traitement JAXP afin de la protéger contre les données incorrectement formées. Si vous spécifiez des limites, vous devez remplacer la configuration d'analyseur syntaxique XML par défaut par une configuration personnalisée.

A propos de cette tâche

Pour protéger l'application contre les données mal formées, vous pouvez appliquer des limites pendant le traitement JAXP. Ces limites peuvent être définies dans votre fichier jaxp.properties ou en spécifiant diverses propriétés système sur la ligne de commande. Cependant, pour pouvoir appliquer ces limites, vous devez également remplacer la configuration d'analyseur syntaxique XML par défaut par une configuration personnalisée qui permet d'utiliser ces limites de traitement sécurisé.

Remarque: L'implémentation XML IBM est obsolète dans IBM® SDK, Java™ Technology Edition, Version 8 et sera remplacée par l'implémentation XML Oracle dans une version ultérieure.

Procédure

  1. Sélectionnez les limites à définir pour l'application.
  2. Pour remplacer la configuration de l'analyseur syntaxique XML par défaut, définissez la configuration personnalisée en spécifiant la propriété système suivante sur la ligne de commande: -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=fichier_config, où fichier_config est org.apache.xerces.parsers.SecureProcessingConfiguration. Pour plus d'informations sur le mécanisme de substitution complet, voir http://xerces.apache.org/xerces2-j/faq-xni.html#faq-2.