Viciado em Internet Profissional • Entusiasta de Jogos • Criador de Tecnologia
Viciado em Internet Profissional • Entusiasta de Jogos • Criador de Tecnologia

Impedindo chamadas de métodos Java de XSL usando TransformerFactory

Como negar ou proibir chamadas de métodos Java de um XSL usando TransformerFactory!
Esta página foi traduzida do inglês pelos meus estagiários de IA altamente motivados para sua conveniência. Eles ainda estão aprendendo, então alguns erros podem ter passado despercebidos. Para informações mais precisas, consulte a versão em inglês.
Lar Blog Impedindo chamadas de métodos Java de XSL usando TransformerFactory

Observe que este post foi publicado em abril de 2011, portanto, dependendo de quando você o ler, algumas partes podem estar desatualizadas. Infelizmente, nem sempre consigo manter estes posts totalmente atualizados para garantir que as informações permaneçam precisas.

    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. Publicado pela primeira vez em 23/04/2011. Última atualização em 23/04/2011.

    📺 Assista ao vídeo mais recente do Squeaky!

    Como adicionar legendas simples em tempo real à sua transmissão ao vivo