System.Xml.XmlReader設定。Schemas プロパティ

この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。

この記事は、プロパティに Schemas 関連します。

重要

  • 不明または信頼されていないソースや場所のスキーマは使用しないでください。 これにより、コードのセキュリティが損なわれます。
  • XML スキーマ (インライン スキーマを含む) は、サービス拒否攻撃に対して本質的に脆弱です。信頼できないシナリオでは受け入れないようにしてください。
  • スキーマ検証のエラー メッセージと例外により、スキーマ ファイルのコンテンツ モデルや URI パスに関する機密情報が公開される場合があります。 信頼されていない呼び出し元にこの情報を公開しないように注意してください。
  • 詳細については、「セキュリティに関する考慮事項」セクションを参照してください。

このクラスでは XmlSchemaSet 、XML スキーマ定義言語 (XSD) スキーマのみがサポートされます。 XmlReader メソッドによって Create 作成されたインスタンスを、XML-Data Reduced (XDR) スキーマ検証を有効にするように構成することはできません。

セキュリティに関する考慮事項

  • 不明または信頼されていないソースのスキーマは使用しないでください。 これを行うと、コードのセキュリティが損なわれます。 XmlUrlResolver クラスは、既定で外部スキーマを解決するために使用されます。 スキーマの include、import、redefine の各要素の解決を無効にするには、XmlSchemaSet.XmlResolver プロパティを null に設定します。

  • XmlSchemaSet クラスを使用した結果として発生する例外 (XmlSchemaException クラスなど) には、信頼されていないシナリオでは公開しないようにする必要がある機密情報が含まれる場合があります。 たとえば、XmlSchemaExceptionSourceUri プロパティは、例外の原因となったスキーマ ファイルへの URI パスを返します。 SourceUri プロパティは、信頼されていないシナリオでは公開しないようにする必要があります。 信頼されていないシナリオでこの機密情報が公開されないように、例外を適切に処理する必要があります。