Udostępnij za pośrednictwem


AntiXssEncoder.HtmlAttributeEncode(String, TextWriter) Metoda

Definicja

Koduje i wyprowadza określony ciąg do użycia w atrybutze 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)

Parametry

value
String

Ciąg do kodowania.

output
TextWriter

Autor tekstu, który będzie używać do wyprowadzania ciągu.

Uwagi

Ta metoda koduje wszystkie znaki z wyjątkiem tych, które znajdują się na liście bezpiecznych znaków. Znaki są kodowane przy użyciu &#DECIMAL; notacji.

Uwaga

Przed dodaniem ciągu do strony umieść znaki podwójnego cudzysłowu (" ") lub pojedynczego cudzysłowu ("") wokół ciągu wynikowego.

W poniższej tabeli wymieniono domyślne bezpieczne znaki. Wszystkie z nich znajdują się w zakresie kontrolek Unicode C0 i podstawowych znaków łacińskich, chyba że zostały zanotowanie w kolumnie Opis.

Znaki Opis
A–Z Wielkie litery alfabetu łacińskiego
a–z Małe litery alfabetu łacińskiego
0-9 Liczby
! Wykrzyknik
# Znak numeru, skrót
$ Znak dolara
% Znak procentu
( ) Nawiasy
* Gwiazdka
+ Znak plus
, Przecinek
- Łącznik, minus
. Kropka, kropka, pełne zatrzymanie
/ Slash
: Dwukropek
; Średnik
= Znak równości
? Znak zapytania
@ Komercyjny znak przy podpisywaniu
[ ] Nawiasy kwadratowe
\ Ukośnik odwrotny
^ Daszek
_ Podkreślenia
` Akcent z akcentem akcentu
{ } Nawiasy klamrowe, nawiasy klamrowe
| Linia pionowa
~ Tylda
0x00A1 — 0x00AC Znaki specjalne między 0x00A1 (161 miejsc dziesiętnych) i 0x00AC (172 dziesiętne) z kontrolek Unicode C1 i zakresu znaków uzupełnienie Latin-1.
0x00AE — 0x00FF Znaki specjalne między 0x00AE (174 miejsca dziesiętne) i 0x00FF (255 dziesiętnych) z kontrolek Unicode C1 i zakresu znaków uzupełniających Latin-1.
0x0100 — 0x017F Znaki między 0x0100 (256 miejsc dziesiętnych) i 0x017F (383 miejsca dziesiętne). (Zakres znaków Unicode latin-extended-A).
0x0180 — 0x024F Znaki między 0x0180 (384 miejsca dziesiętne) i 0x024F (591 dziesiętnych). (Zakres znaków Unicode Latin-Extended-B).
0x0250 — 0x02AF Znaki między 0x0250 (592 miejsca dziesiętne) i 0x02AF (687 miejsc dziesiętnych). (Zakres znaków rozszerzeń IPA Unicode).
0x02B0 — 0x02FF Znaki między 0x02B0 (688 miejsc dziesiętnych) i 0x02FF (767 miejsc dziesiętnych). (Zakres znaków modyfikatora odstępów Unicode).
0x0300 — 0x036F Znaki między 0x0300 (768 miejsc dziesiętnych) i 0x036F (879 miejsc dziesiętnych). (Zakres znaków łączący znaki diakrytyczne Unicode).

W poniższej tabeli wymieniono przykłady danych wejściowych i odpowiadające im zakodowane dane wyjściowe.

Przykłady danych wejściowych Zakodowane dane wyjściowe
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&#32;Site&#32;Scripting&#32;Namespace&quot;

Aby dostosować listę bezpiecznych, wywołaj MarkAsSafe metodę .

Dotyczy