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;
нотации.
Примечание
Заключите полученную строку в двойные кавычки ("") или одиночные кавычки (' '), прежде чем добавлять ее на страницу.
В следующей таблице перечислены защищенные символы по умолчанию. Все символы относятся к элементам управления 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> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
Чтобы настроить список надежных, вызовите 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('XSS Attack!'); |
<script>alert('XSS Attack!');</script> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
Чтобы настроить список надежных, вызовите MarkAsSafe метод.