Язык

AntiXssEncoder.XmlEncode(String) Метод

Определение

Кодирует указанную строку для использования в XML-атрибутах.

public:
 static System::String ^ XmlEncode(System::String ^ input);
public static string XmlEncode(string input);
static member XmlEncode : string -> string
Public Shared Function XmlEncode (input As String) As String

Параметры

input
String

Строка для кодирования.

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

Закодированная строка.

Комментарии

Этот метод кодирует все символы, кроме тех, которые находятся в безопасном списке. Символы кодируются с помощью &#DECIMAL; нотации.

Note

Поместите двойные кавычки (" или одинарные кавычки (" ) вокруг результирующей строки перед добавлением его на страницу.

В следующей таблице перечислены безопасные символы по умолчанию. Все символы относятся к элементам управления Юникод C0 и диапазону символов "Базовый латиница" , за исключением случаев, когда указано в столбце "Описание".

Символы 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> &lt;script&gt;alert(&apos;XSS 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 метод.

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