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;
нотации.
Примечание
Заключите полученную строку в двойные кавычки ("") или одиночные кавычки (' '), прежде чем добавлять ее на страницу.
В следующей таблице перечислены защищенные символы по умолчанию. Все символы относятся к элементам управления C0 Юникода и базовому диапазону латинских символов, если только они не указаны в столбце Description.
Диаграмма кода Юникода | Символы | Описание |
---|---|---|
A – Z | Символы латинского алфавита в верхнем регистре | |
a – z | Строчные буквы латинского алфавита | |
0-9 | Числа | |
! | Восклицательный знак | |
# | Знак номера, хэш | |
$ | Знак доллара | |
% | Знак процента | |
( ) | Круглые скобки | |
* | Звездочка | |
+ | Знак "плюс" | |
, | Запятая | |
- | Дефис, минус | |
. | Точка, точка, полная точка | |
/ | Подряд | |
: | Двоеточие | |
; | Точка с запятой | |
= | Знак равенства | |
? | Вопросительный знак | |
@ | Коммерческое at-подпись | |
[ ] | Квадратные скобки | |
\ | Обратная косая черта | |
^ | Курсор | |
_ | Подчеркивания | |
` | Ударение | |
{ } | Фигурные скобки, фигурные скобки | |
| | Вертикальная линия | |
~ | Тильда | |
0x00A1 - 0x00AC | Специальные символы между 0x00A1 (161 Decimal) и 0x00AC (172 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. | |
Специальные символы между 0x00AE (174 Decimal) и 0x00FF (255 Decimal) из элементов управления Юникода C1 и символов "Латиница-1" дополняют диапазон знаков. | ||
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 метод.