System.Xml.XmlReader Ustawienia. Właściwość Schemas

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Ten artykuł dotyczy Schemas właściwości .

Ważne

  • Nie używaj schematów z nieznanych lub niezaufanych źródeł ani lokalizacji. Spowoduje to naruszenie zabezpieczeń kodu.
  • Schematy XML (w tym schematy wbudowane) są z natury narażone na ataki typu "odmowa usługi"; nie akceptuj ich w niezaufanych scenariuszach.
  • Komunikaty o błędach weryfikacji schematu i wyjątki mogą uwidaczniać poufne informacje o ścieżce con tryb namiotu l lub URI do pliku schematu. Należy zachować ostrożność, aby nie ujawniać tych informacji niezaufanym obiektom wywołującym.
  • Aby uzyskać dodatkowe informacje, zobacz sekcję "Zagadnienia dotyczące zabezpieczeń".

Klasa XmlSchemaSet obsługuje tylko schematy języka definicji schematu XML (XSD). XmlReader Nie można skonfigurować wystąpień utworzonych przez Create metodę w celu włączenia weryfikacji schematu XML-Data Reduced (XDR).

Zagadnienia dotyczące zabezpieczeń

  • Nie używaj schematów z nieznanych lub niezaufanych źródeł. Spowoduje to naruszenie zabezpieczeń kodu. Klasa XmlUrlResolver jest używana do rozpoznawania schematów zewnętrznych domyślnie. Aby wyłączyć rozpoznawanie elementów dołączania, importowania i ponownego definiowania elementów schematu, ustaw XmlSchemaSet.XmlResolver właściwość na null.

  • Wyjątki zgłaszane w wyniku użycia XmlSchemaSet klasy, takie jak XmlSchemaException klasa, mogą zawierać poufne informacje, które nie powinny być widoczne w niezaufanych scenariuszach. Na przykład SourceUri właściwość obiektu XmlSchemaException zwraca ścieżkę identyfikatora URI do pliku schematu, który spowodował wyjątek. Właściwość SourceUri nie powinna być widoczna w niezaufanych scenariuszach. Wyjątki powinny być prawidłowo obsługiwane, aby te poufne informacje nie były widoczne w niezaufanych scenariuszach.