Język

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

Zakodowany ciąg.

Uwagi

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

Note

Umieść znaki podwójnego cudzysłowu (" ") lub pojedynczy cudzysłów () wokół wynikowego ciągu przed dodaniem go do strony.

W poniższej tabeli wymieniono domyślne bezpieczne znaki. Wszystkie znaki pochodzą z kontrolek Unicode C0 i podstawowego zakresu znaków łacińskich , z wyjątkiem znaków zanotowany w kolumnie Opis.

Znaki Opis
A-Z Wielkie litery alfabetu łacińskiego
a-z Małe litery alfabetyczne
0–9 Liczby
(Spacja) Przestrzeń
! Wykrzyknik
# Znak numeru, skrót
$ Znak dolara
% Znak procentu
( ) Nawiasy
* Asterisk
+ Znak plus
, Przecinek
- Łącznik, minus
. Okres
/ Ukośnik
: Dwukropek
; Średnik
= Znak równości
? Znak zapytania
@ Komercyjna
[ ] Nawiasy kwadratowe
\ Ukośnik odwrotny
^ Daszek
_ Podkreślenie
` Akcent grobowy
{ } Nawiasy klamrowe, nawiasy klamrowe
| Linia pionowa
~ Tylda
0x00A1 — 0x00AC Znaki specjalne między 0x00A1 (161 dziesiętne) i 0x00AC (172 dziesiętne) z zakresu znaków Unicode C1 i Łaciński-1. Znaki w tym zakresie są kodowane, gdy useNamedEntities ma wartość true.
0x00AE — 0x00FF Znaki specjalne między 0x00AE (174 dziesiętne) i 0x00FF (255 dziesiętne) z zakresu znaków Unicode C1 i Łaciński-1. Znaki w tym zakresie są kodowane, gdy useNamedEntities ma wartość true.
0x0100 — 0x017F Znaki między 0x0100 (256 dziesiętne) i 0x017F (383 dziesiętne). (Zakres znaków Unicode Latin-Extended-A ).
0x0180 — 0x024F Znaki między 0x0180 (384 dziesiętne) i 0x024F (591 dziesiętne). (Zakres znaków Unicode Latin-Extended-B ).
0x0250 — 0x02AF Znaki między 0x0250 (592 dziesiętne) i 0x02AF (687 dziesiętne). (Zakres znaków rozszerzeń IPA Unicode).
0x02B0 — 0x02FF Znaki między 0x02B0 (688 dziesiętne) i 0x02FF (767 dziesiętne). (Zakres znaków modyfikatora odstępów Unicode).
0x0300 — 0x036F Znaki między 0x0300 (768 dziesiętne) i 0x036F (879 dziesiętne). (Unicode Łączący zakres znaków znaków diakrytycznych ).

W poniższej tabeli wymieniono przykłady danych wejściowych i odpowiednie zakodowane dane wyjściowe.

Dane wejściowe 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;

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

Dotyczy