Profesjonalny uzależniony od Internetu • Entuzjasta gier • Twórca technologii
Profesjonalny uzależniony od Internetu • Entuzjasta gier • Twórca technologii

Zapobieganie wywoływaniu metod Java z XSL przy użyciu TransformerFactory

Jak zablokować lub zabronić wywoływania metod Java z poziomu XSL za pomocą TransformerFactory!
Ta strona została przetłumaczona z języka angielskiego przez moich niezwykle zmotywowanych stażystów ds. sztucznej inteligencji, dla Państwa wygody. Wciąż się uczą, więc mogło umknąć im kilka błędów. Aby uzyskać najdokładniejsze informacje, prosimy o zapoznanie się z wersją angielską.
Dom Blog Zapobieganie wywoływaniu metod Java z XSL przy użyciu TransformerFactory

Proszę pamiętać, że ten wpis na blogu został opublikowany w kwietniu 2011 roku, więc w zależności od tego, kiedy go czytasz, niektóre fragmenty mogą być nieaktualne. Niestety, nie zawsze jestem w stanie aktualizować te wpisy na bieżąco, aby zapewnić poprawność informacji.

    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.

    Napisane przez Special Agent Squeaky. Pierwsze opublikowanie 23.04.2011. Ostatnia aktualizacja 23.04.2011.

    📺 Obejrzyj najnowszy film Squeaky!

    Jak dodać proste napisy w czasie rzeczywistym do Twojej transmisji na żywo