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