Язык

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; нотации.

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

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

Комментарии

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

Note

Поместите двойные кавычки (" или одинарные кавычки (" ) вокруг результирующей строки перед добавлением его на страницу.

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

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

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

Input Output
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 Site Scripting 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; нотации.

Note

Поместите двойные кавычки (" или одинарные кавычки (" ) вокруг результирующей строки перед добавлением его на страницу.

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

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

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

Input Output
alert('XSS Attack!'); alert(&#39;XSS 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 Site Scripting Namespace&quot;

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

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