Поделиться через


Вопросы безопасности при работе с XML-данными

В этом разделе обсуждаются проблемы безопасности, о которых следует знать при работе с редактором XML или отладчиком XSLT.

Редактор XML

Редактор XML построен на основе текстового редактора Visual Studio.Обработка многих XML-процессов выполняется с помощью классов System.Xml и System.Xml.Xsl .

  • Преобразования XSLT выполняются в новом домене приложения.Преобразования XSLT выполняются в изолированной среде. Это означает, что для определения ограничений, зависящих от расположения таблицы стилей XSLT, применяется политика безопасности доступа к коду.Например, таблицы стилей из Интернета имеют самые ограниченные разрешения, в то время как скопированные на жесткий диск таблицы стилей работают в режиме полного доверия.

  • Класс XslCompiledTransform используется для компиляции XSLT в код на языке MSIL для повышения производительности во время выполнения.

  • Схемы, указывающие на внешнее местоположение в файле каталога, автоматически загружаются при первой загрузке редактора XML.Класс XmlSchemaSet используется для компиляции схем.Файл каталога, загружаемый вместе с редактором XML, не содержит ссылок на внешние схемы.Пользователь должен явно добавить ссылки на внешнюю схему, чтобы редактор XML загрузил файл схемы.Загрузки по протоколу HTTP можно отключить на странице Различные параметры инструментов редактора XML.

  • Редактор XML использует классы System.Net для загрузки схем.

Отладчик XSLT

Отладчик XSLT использует подсистему управляемой отладки Visual Studio и классы из пространств имен System.Xml и System.Xml.Xsl.

  • Отладчик XSLT запускает каждое преобразование XSLT в изолированном домене приложения.Для определения ограниченных разрешений, зависящих от расположения таблицы стилей XSLT, применяется политика управления доступом для кода.Например, таблицы стилей из Интернета имеют самые ограниченные разрешения, в то время как скопированные на жесткий диск таблицы стилей работают в режиме полного доверия.

  • Таблица стилей XSLT компилируется с помощью класса XslCompiledTransform.

  • Подсистема управляемой отладки загружает средство оценки выражений XSLT.Подсистема управляемой отладки исходит из того, что весь код запускается с пользовательского локального компьютера.Соответственно, класс XslCompiledTransform загружает файл XSLT на пользовательский локальный компьютер.Вероятность того, что произойдет повышение прав доступа на выполнение, уменьшается путем запуска всех преобразований XSLT в новом домене приложения с ограниченными разрешениями.

См. также

Другие ресурсы

Application Domains