AntiXssEncoder.HtmlEncode Метод

Определение

Кодирует указанную строку для использования в качестве текста в разметке HTML.

Перегрузки

HtmlEncode(String, Boolean)

Кодирует указанную строка для использования в качестве текста в разметке HTML и, при необходимости, указывающее, использовать ли сущности, именованные в HTML 4.0.

HtmlEncode(String, TextWriter)

Кодирует указанную строку для использования в качестве текста в разметке HTML и выводит строку с помощью заданного модуля записи текста.

HtmlEncode(String, Boolean)

Кодирует указанную строка для использования в качестве текста в разметке HTML и, при необходимости, указывающее, использовать ли сущности, именованные в HTML 4.0.

public:
 static System::String ^ HtmlEncode(System::String ^ input, bool useNamedEntities);
public static string HtmlEncode (string input, bool useNamedEntities);
static member HtmlEncode : string * bool -> string
Public Shared Function HtmlEncode (input As String, useNamedEntities As Boolean) As String

Параметры

input
String

Кодируемая строка.

useNamedEntities
Boolean

Значение true для использования именованных сущностей HTML 4.0 для кодировки некоторых символов; значение false для кодирования только с помощью нотации &#DECIMAL;.

Возвращаемое значение

String

Закодированная строка.

Комментарии

Этот метод кодирует все символы, кроме тех, которые находятся в списке надежных. Символы кодируются с помощью &#DECIMAL; нотации.

Примечание

Заключите полученную строку в двойные кавычки ("") или одиночные кавычки (' '), прежде чем добавлять ее на страницу.

В следующей таблице перечислены защищенные символы по умолчанию. Все символы относятся к элементам управления C0 Юникода и базовому диапазону латинских символов, если только они не указаны в столбце Description.

Символы Описание
A – Z Символы латинского алфавита в верхнем регистре
a – z Строчные буквы латинского алфавита
0-9 Числа
Модуль Пробел
! Восклицательный знак
# Знак номера, хэш
$ Знак доллара
% Знак процента
( ) Круглые скобки
* Звездочка
+ Знак "плюс"
, Запятая
- Дефис, минус
. Точка, точка, полная точка
/ Подряд
: Двоеточие
; Точка с запятой
= Знак равенства
? Вопросительный знак
@ Коммерческая версия
[ ] Квадратные скобки
\ Обратная косая черта
^ Курсор
_ Подчеркивания
` Ударение
{ } Фигурные скобки, фигурные скобки
| Вертикальная линия
~ Тильда
0x00A1 - 0x00AC Специальные символы между 0x00A1 (161 Decimal) и 0x00AC (172 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. Символы в этом диапазоне кодируются, если useNamedEntities имеет значения true .
0x00AE - 0x00FF Специальные символы между 0x00AE (174 Decimal) и 0x00FF (255 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. Символы в этом диапазоне кодируются, если useNamedEntities имеет значения true .
0x0100 - 0x017F Символы между 0x0100 (256 Decimal) и 0x017F (383 Decimal). (Диапазон символов, расширенных по алфавиту (латиница ) в Юникоде.)
0x0180 - 0x024F Символы между 0x0180 (384 Decimal) и 0x024F (591 Decimal). (Диапазон символов Юникода латиницы-Extended-B .)
0x0250 - 0x02AF Символы между 0x0250 (592 Decimal) и 0x02AF (687 Decimal). (Диапазон символов расширений Юникода IPA .)
0x02B0 - 0x02FF Символы между 0x02B0 (688 Decimal) и 0x02FF (767 Decimal). (Диапазон символов в символах с модификаторами пробелов в Юникоде.)
0x0300 - 0x036F Символы между 0x0300 (768 Decimal) и 0x036F (879 Decimal). (Набор символов диакритических знаков в Юникоде.)

В следующей таблице приведены примеры входных данных и соответствующие закодированные выходные данные.

alert('XSS Attack!'); alert('XSS Attack!');
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

Чтобы настроить список надежных, вызовите MarkAsSafe метод.

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

HtmlEncode(String, TextWriter)

Кодирует указанную строку для использования в качестве текста в разметке HTML и выводит строку с помощью заданного модуля записи текста.

protected public:
 override void HtmlEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlEncode (string value, System.IO.TextWriter output);
override this.HtmlEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlEncode (value As String, output As TextWriter)

Параметры

value
String

Кодируемая строка.

output
TextWriter

Средство записи текста, используемое для вывода строки.

Комментарии

Этот метод кодирует все символы, кроме тех, которые находятся в списке надежных. Символы кодируются с помощью &#DECIMAL; нотации.

Примечание

Заключите полученную строку в двойные кавычки ("") или одиночные кавычки (' '), прежде чем добавлять ее на страницу.

В следующей таблице перечислены защищенные символы по умолчанию. Все символы относятся к элементам управления C0 Юникода и базовому диапазону латинских символов, если только они не указаны в столбце Description.

Символы Описание
A – Z Символы латинского алфавита в верхнем регистре
a – z Строчные буквы латинского алфавита
0-9 Числа
Модуль Пробел
! Восклицательный знак
# Знак номера, хэш
$ Знак доллара
% Знак процента
( ) Круглые скобки
* Звездочка
+ Знак "плюс"
, Запятая
- Дефис, минус
. Точка, точка, полная точка
/ Подряд
: Двоеточие
; Точка с запятой
= Знак равенства
? Вопросительный знак
@ Коммерческая версия
[ ] Квадратные скобки
\ Обратная косая черта
^ Курсор
_ Подчеркивания
` Ударение
{ } Фигурные скобки, фигурные скобки
| Вертикальная линия
~ Тильда
0x00A1 - 0x00AC Специальные символы между 0x00A1 (161 Decimal) и 0x00AC (172 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. Символы в этом диапазоне кодируются, если useNamedEntities имеет значения true .
0x00AE - 0x00FF Специальные символы между 0x00AE (174 Decimal) и 0x00FF (255 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. Символы в этом диапазоне кодируются, если useNamedEntities имеет значения true .
0x0100 - 0x017F Символы между 0x0100 (256 Decimal) и 0x017F (383 Decimal). (Диапазон символов, расширенных по алфавиту (латиница ) в Юникоде.)
0x0180 - 0x024F Символы между 0x0180 (384 Decimal) и 0x024F (591 Decimal). (Диапазон символов Юникода латиницы-Extended-B .)
0x0250 - 0x02AF Символы между 0x0250 (592 Decimal) и 0x02AF (687 Decimal). (Диапазон символов расширений Юникода IPA .)
0x02B0 - 0x02FF Символы между 0x02B0 (688 Decimal) и 0x02FF (767 Decimal). (Диапазон символов в символах с модификаторами пробелов в Юникоде.)
0x0300 - 0x036F Символы между 0x0300 (768 Decimal) и 0x036F (879 Decimal). (Набор символов диакритических знаков в Юникоде.)

В следующей таблице приведены примеры входных данных и соответствующие закодированные выходные данные.

alert('XSS Attack!'); alert(&#39;XSS&#32;Attack!&#39;);
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

Чтобы настроить список надежных, вызовите MarkAsSafe метод.

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