AntiXssEncoder.HtmlEncode Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Koduje określony ciąg do użycia jako tekst w znacznikach HTML.
Przeciążenia
HtmlEncode(String, Boolean) |
Koduje określony ciąg do użycia jako tekst w znacznikach HTML i opcjonalnie określa, czy używać nazwanych jednostek HTML 4.0. |
HtmlEncode(String, TextWriter) |
Koduje określony ciąg do użycia jako tekst w znacznikach HTML i wyprowadza ciąg przy użyciu określonego zapisu tekstu. |
HtmlEncode(String, Boolean)
Koduje określony ciąg do użycia jako tekst w znacznikach HTML i opcjonalnie określa, czy używać nazwanych jednostek HTML 4.0.
public:
static System::String ^ HtmlEncode(System::String ^ input, bool useNamedEntities);
public static string HtmlEncode (string input, bool useNamedEntities);
static member HtmlEncode : string * bool -> string
Public Shared Function HtmlEncode (input As String, useNamedEntities As Boolean) As String
Parametry
- input
- String
Ciąg do kodowania.
- useNamedEntities
- Boolean
true
używanie jednostek nazwanych HTML 4.0 w przypadku niektórych kodowań znaków; false
w celu kodowania przy użyciu & tylko #DECIMAL;
notacji.
Zwraca
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 są z zakresu 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 |
(Spacja) | Miejsce |
! | 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 |
@ | Komercyjna w: |
[ ] | Nawiasy kwadratowe |
\ | Ukośnik odwrotny |
^ | Daszek |
_ | Podkreślenia |
` | Akcent cytowy |
{ } | Nawiasy klamrowe, nawiasy klamrowe |
| | Linia pionowa |
~ | Tylda |
0x00A1 — 0x00AC | Znaki specjalne między 0x00A1 (161 miejsc dziesiętnych) i 0x00AC (172 dziesiętne) z zakresu znaków Unicode C1 Controls i Latin-1 Supplement. Znaki w tym zakresie są kodowane, gdy useNamedEntities jest true . |
0x00AE — 0x00FF | Znaki specjalne między 0x00AE (174 dziesiętne) i 0x00FF (255 dziesiętnych) z zakresu znaków unicode C1 i uzupełnienie Latin-1. Znaki w tym zakresie są kodowane, gdy useNamedEntities jest true . |
0x0100 — 0x017F | Znaki między 0x0100 (256 miejsc dziesiętnych) i 0x017F (383 dziesiętne). (Zakres znaków Unicode łacińsko-rozszerzony-A). |
0x0180 — 0x024F | Znaki między 0x0180 (384 miejsca dziesiętne) i 0x024F (591 dziesiętne). (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). (Unicode łączy znaki diakrytyczne z zakresu znaków). |
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> |
<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" |
Aby dostosować listę bezpiecznych, wywołaj MarkAsSafe metodę .
Dotyczy
HtmlEncode(String, TextWriter)
Koduje określony ciąg do użycia jako tekst w znacznikach HTML i wyprowadza ciąg przy użyciu określonego zapisu tekstu.
protected public:
override void HtmlEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlEncode (string value, System.IO.TextWriter output);
override this.HtmlEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlEncode (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 znaki są z zakresu 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 |
(Spacja) | Miejsce |
! | 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 |
@ | Komercyjna w: |
[ ] | Nawiasy kwadratowe |
\ | Ukośnik odwrotny |
^ | Daszek |
_ | Podkreślenia |
` | Akcent cytowy |
{ } | 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łnienie 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> |
<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" |
Aby dostosować listę bezpiecznych, wywołaj MarkAsSafe metodę .