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


HttpRuntimeSection.EnableHeaderChecking Свойство

Определение

Возвращает или задает значение, указывающее, включена ли проверка заголовка.

public:
 property bool EnableHeaderChecking { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)]
public bool EnableHeaderChecking { get; set; }
[<System.Configuration.ConfigurationProperty("enableHeaderChecking", DefaultValue=true)>]
member this.EnableHeaderChecking : bool with get, set
Public Property EnableHeaderChecking As Boolean

Значение свойства

true Значение , если проверка заголовка включена; falseв противном случае . Значение по умолчанию — true.

Атрибуты

Примеры

В следующем примере показано, как использовать EnableHeaderChecking свойство.

// Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " +
  configSection.EnableHeaderChecking + "<br>");

// Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = true;
' Get the EnableHeaderChecking property value.
Response.Write("EnableHeaderChecking: " & _
  configSection.EnableHeaderChecking & "<br>")

' Set the EnableHeaderChecking property value to true.
configSection.EnableHeaderChecking = True

Комментарии

Цель этого свойства — включить кодировку возвращаемых и новых символов каретки, \r а \nтакже , которые находятся в заголовках ответа.

В заголовках исходящих ответов символы, представленные кодами, 0x1F и ниже, кодируются, а также символ 0x7F (символ удаления). Единственным исключением является то, что символ 0x09 (символ табуляции) не изменен.

Эта кодировка помогает избежать атак путем внедрения, эксплуатирующих приложение, которое выводит на экран недоверенные данные, содержащиеся в заголовке.

Замечание

Это свойство не применяется к самой строке состояния (код состояния и описание состояния), но должно применяться к другим заголовкам. Хотя <httpRuntime> можно задать на любом уровне, это свойство применимо только на уровне компьютера и приложения.

Если это свойство trueявляется значением по умолчанию, \r в заголовке ответа кодируются %0d%0aили \n символы, найденные в заголовке ответа. Это побеждает атаки на внедрение заголовков, делая внедренную часть материала одной и той же строкой заголовка. Это может нарушить ответ, но не должно открывать векторы атак против клиента. Эхо обратно ненадежных данных никогда не является хорошей идеей в любой ситуации, хотя.

Это важно

Продолжения HTTP-заголовка зависят от заголовков, охватывающих несколько строк, и для них требуется наличие новых строк. Если вам нужно использовать продолжения заголовка, необходимо присвоить свойству EnableHeaderChecking значение false. Так как производительность влияет на просмотр заголовков, если вы уверены, что уже выполняете правильные проверки, отключение этой функции может повысить производительность приложения. Перед отключением этой функции убедитесь, что предприняты необходимые меры предосторожности в этой области.

Применяется к

См. также раздел