Adicto profesional a Internet • Entusiasta de los juegos • Creador de tecnología
Adicto profesional a Internet • Entusiasta de los juegos • Creador de tecnología

Cómo evitar llamadas a métodos Java desde XSL mediante TransformerFactory

¡Cómo denegar o no permitir la llamada a métodos Java desde un XSL usando TransformerFactory!
Esta página ha sido traducida del inglés por mis altamente motivados pasantes de IA para su comodidad. Aún están aprendiendo, por lo que es posible que se hayan pasado por alto algunos errores. Para obtener la información más precisa, consulte la versión en inglés.
Hogar Blog Cómo evitar llamadas a métodos Java desde XSL mediante TransformerFactory

Tenga en cuenta que esta entrada del blog se publicó en abril de 2011, por lo que, dependiendo de cuándo la lea, algunas partes podrían estar desactualizadas. Lamentablemente, no siempre puedo mantener estas publicaciones completamente actualizadas para garantizar que la información siga siendo precisa.

    When using the Java's TransformerFactory to XSL transform XML documents, the XSL document is allowed to call Java methods by default. This however could be a security issue when dealing with third party XSL documents.
    To disallow calling Java methods from the XSD, set the FEATURE_SECURE_PROCESSING feature on the factory:
    TransformerFactory factory = TransformerFactory.newInstance(); factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
    This will result in an TransformerException when transforming the documents:
    Error: Use of the extension function 'java:new' is not allowed when the secure processing feature is set to true. Error during transformation javax.xml.transform.TransformerException: java.lang.RuntimeException: Use of the extension function 'java:new' is not allowed when the secure processing feature is set to true.

    Escrito por Special Agent Squeaky. Primera publicación: 23/04/2011. Última actualización: 23/04/2011.

    📺 ¡Mira el video más reciente de Squeaky!

    Cómo agregar subtítulos simples en tiempo real a tu transmisión en vivo