AntiXssEncoder.XmlAttributeEncode(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Кодирует указанную строку для использования в XML-атрибутах.
public:
static System::String ^ XmlAttributeEncode(System::String ^ input);
public static string XmlAttributeEncode(string input);
static member XmlAttributeEncode : string -> string
Public Shared Function XmlAttributeEncode (input As String) As String
Параметры
- input
- String
Строка для кодирования.
Возвращаемое значение
Закодированная строка.
Комментарии
Этот метод кодирует все символы, кроме тех, которые находятся в безопасном списке. Символы кодируются с помощью &#DECIMAL; нотации.
Note
Поместите двойные кавычки (" или одинарные кавычки (" ) вокруг результирующей строки перед добавлением его на страницу.
В следующей таблице перечислены безопасные символы по умолчанию. Все символы относятся к элементам управления Юникод C0 и диапазону символов Basic Latin , если не указано в столбце Description.
| Диаграмма кода Юникода | Символы | Description |
|---|---|---|
| А-Я | Буквенные символы латинского алфавита | |
| a-z | Строчные буквы в алфавитном алфавите | |
| 0–9 | Числа | |
| ! | Восклицательный знак | |
| # | Знак номера, хэш | |
| $ | Знак рубля | |
| % | Символ процента | |
| ( ) | Круглые скобки | |
| * | Звездочка | |
| + | Знак "плюс" | |
| , | Запятой | |
| - | Дефис, минус | |
| . | Период, точка, полная остановка | |
| / | Разрез | |
| : | Двоеточие | |
| ; | Точка с запятой | |
| = | Знак равенства | |
| ? | Вопросительный знак | |
| @ | Коммерческая по знаку | |
| [ ] | Квадратные скобки | |
| \ | Обратная косая черта | |
| ^ | Крышка | |
| _ | Подчеркивание | |
| ` | Серьезный акцент | |
| { } | Фигурные скобки, фигурные скобки | |
| | | Вертикальная линия | |
| ~ | Тильда | |
| 0x00A1 — 0x00AC | Специальные символы между 0x00A1 (161 десятичная) и 0x00AC (172 десятичных) из элементов управления Юникода C1 и диапазона символов "Латиница-1". | |
| Специальные символы между 0x00AE (174 десятичными) и 0x00FF (255 десятичных знаков) из элементов управления ЮникодА C1 и диапазона символов "Латиница-1". | ||
| 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 метод.