Внедрение внешнего объекта XML в загрузку xsd - PullRequest
0 голосов
/ 29 августа 2018

Я загружаю xsd в мое веб-приложение на основе j2ee, которое генерирует классы java и которое позже используется для обработки. Загрузка xsd была определена как пригодная для использования для внедрения внешнего объекта XML. Я искал много мест и понял, как это можно исправить для XML. Но нет ясности по XSD Дайте мне знать, если у кого-то есть идеи по этому поводу.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018
SchemaCompiler schemaCompiler = XJC.createSchemaCompiler();
schemaCompiler.setDefaultPackageName(packageName);
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false); 
xmlInputFactory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); 
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(new FileInputStream(xsdFile));
try {
    schemaCompiler.parseSchema(xsdFile.toURI().toString(),xmlStreamReader);
} catch (XMLStreamException e) {
    // handle exception
}
0 голосов
/ 29 августа 2018

Здесь нет ничего особенного для XSD. XSD-документ аналогичен любому другому XML-документу в отношении этого вектора атаки.

...