System.Xml.XmlReader설정 클래스

이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.

이 메서드를 Create 사용하여 인스턴스를 가져옵니다 XmlReader . 이 메서드는 클래스를 XmlReaderSettings 사용하여 생성되는 개체에서 XmlReader 구현할 기능을 지정합니다.

규칙 검사, 유효성 검사 및 기타 일반적인 시나리오에 사용할 설정에 대한 자세한 내용은 페이지 및 Create 참조 페이지의 설명 섹션 XmlReader 을 참조하세요. XmlReaderSettings() 기본 설정 목록은 생성자를 참조하세요.

보안 고려 사항

클래스를 사용할 때 다음을 고려합니다 XmlReaderSettings .

  • ProcessInlineSchema 개체의 ProcessSchemaLocationXmlReaderSettings 유효성 검사 플래그는 기본적으로 설정되지 않습니다. 이 플래그를 설정하면 XmlResolver 개체의 XmlReaderSettings를 사용하여 XmlReader에서 인스턴스 문서에 나타난 스키마 위치를 확인할 수 있습니다. 개체인 XmlResolvernull경우 스키마 위치는 유효성 검사 플래그가 ProcessSchemaLocation 설정된 경우에도 ProcessInlineSchema 확인되지 않습니다.

  • 문서의 유효성을 검사하는 동안 스키마를 추가하면 새 형식이 추가되고 해당 문서에 대한 유효성 검사 결과가 달라질 수 있습니다. 결과적으로 외부 스키마는 신뢰할 수 있는 소스에서만 확인해야 합니다.

  • 유효성 검사 오류 메시지는 중요한 con텐트 모드l 정보를 노출할 수 있습니다. 유효성 검사 오류 및 경고 메시지는 대리자를 ValidationEventHandler 사용하여 처리되거나 개체에 이벤트 처리기가 제공되지 XmlReaderSettings 않은 경우 노출 XmlSchemaValidationException 됩니다(유효성 검사 경고로 인해 XmlSchemaValidationException throw되지 않음). 이 con텐트 모드l 정보는 신뢰할 수 없는 시나리오에서 노출되어서는 안 됩니다. 유효성 검사 경고 메시지는 기본적으로 표시되지 않으며 플래그를 ReportValidationWarnings 설정하여 보고할 수 있습니다.

  • 이 속성 XmlSchemaValidationExceptionSourceUri 예외를 발생시킨 스키마 파일에 대한 URI 경로를 반환합니다. 신뢰할 SourceUri 수 없는 시나리오에서는 속성을 노출해서는 안 됩니다.

  • 문서의 많은 부분에 대해 ID 제약 조건이 있는 스키마에 대해 고가용성 시나리오에서 신뢰할 수 없는 대형 XML 문서의 유효성을 검사할 때 플래그를 사용하지 않도록 ProcessIdentityConstraints 설정하는 것이 좋습니다(기본적으로 사용).

  • XmlReaderSettings 개체에는 사용자 자격 증명과 같은 중요한 정보가 포함될 수 있습니다. XmlReaderSettings 개체를 캐시하거나 한 구성 요소에서 다른 구성 요소로 XmlReaderSettings 개체를 전송할 때는 주의해야 합니다.

  • DTD 처리는 기본적으로 비활성화되어 있습니다. DTD 처리를 사용하도록 설정하는 경우 신뢰할 수 없는 원본의 DTD와 서비스 거부 공격 가능성을 알고 있어야 합니다. 이 XmlSecureResolver 값을 사용하여 액세스할 수 있는 리소스를 XmlReader 제한합니다.

  • 신뢰할 수 없는 소스로부터 NameTable, XmlNamespaceManagerXmlResolver 개체 등의 지원 구성 요소를 받지 마십시오.

  • XmlReader를 사용하는 애플리케이션의 메모리 사용은 구문 분석된 XML 문서 크기와 상관 관계가 있습니다. 서비스 거부 공격의 한 예는 구문 분석하기에는 너무 큰 XML 문서를 제출하는 경우입니다. 속성을 설정하여 구문 분석할 수 있는 문서의 크기를 제한한 다음, 속성을 설정 MaxCharactersInDocumentMaxCharactersFromEntities 하여 엔터티를 확장하여 발생하는 문자 수를 제한할 수 있습니다.