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