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


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 символы или \n , найденные в заголовке ответа, кодируются в %0d и %0a. Это позволяет победить атаки путем внедрения заголовка, делая внедренный материал частью одной и той же строки заголовка. Это может нарушить ответ, но не должно открывать векторы атак на клиент. Тем не менее, повторение недоверенных данных никогда не является хорошей идеей в любой ситуации.

Важно!

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

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

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