Язык

AntiXssEncoder.HtmlAttributeEncode(String, TextWriter) Метод

Определение

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

protected public:
 override void HtmlAttributeEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlAttributeEncode(string value, System.IO.TextWriter output);
override this.HtmlAttributeEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlAttributeEncode (value As String, output As TextWriter)

Параметры

value
String

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

output
TextWriter

Модуль записи текста, используемый для вывода строки.

Комментарии

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

Note

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

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

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

В следующей таблице перечислены примеры входных данных и соответствующих закодированных выходных данных.

Примеры входных данных Закодированные выходные данные
alert('XSS Attack!'); alert('XSS Attack!');
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross Site Scripting Namespace&quot;

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

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