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

Кодируемая строка.

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

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> &lt;script&gt;alert(&apos;XSS&#32;Attack!&apos;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&apos;XSS&#12354;Attack!&apos;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

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

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