Udostępnij za pośrednictwem


AntiXssEncoder.XmlEncode(String) Metoda

Definicja

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

Parametry

input
String

Ciąg do kodowania.

Zwraca

String

Zakodowany ciąg.

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 znaki znajdują się w kontrolkach Unicode C0 i podstawowym zakresie znaków łacińskich, z wyjątkiem sytuacji, gdy 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
(Spacja) Miejsce
! Wykrzyknik
# Znak numeru, skrót
$ Znak dolara
% Znak procentu
( ) Nawiasy
* Gwiazdka
+ Znak plus
, Przecinek
- Łącznik, minus
. Okres
/ Slash
: Dwukropek
; Średnik
= Znak równości
? Znak zapytania
@ Komercyjna w:
[ ] 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. Znaki w tym zakresie są kodowane, gdy useNamedEntities to true .
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. Znaki w tym zakresie są kodowane, gdy useNamedEntities to true .
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.

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;

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

Dotyczy