Sdílet prostřednictvím


AntiXssEncoder.HtmlEncode Metoda

Definice

Zakóduje zadaný řetězec pro použití jako text v kódu HTML.

Přetížení

HtmlEncode(String, Boolean)

Zakóduje zadaný řetězec pro použití jako text v kódu HTML a volitelně určuje, zda použít pojmenované entity HTML 4,0.

HtmlEncode(String, TextWriter)

Zakóduje zadaný řetězec pro použití jako text ve značce HTML a vypište řetězec pomocí zadaného zapisovače textu.

HtmlEncode(String, Boolean)

Zakóduje zadaný řetězec pro použití jako text v kódu HTML a volitelně určuje, zda použít pojmenované entity 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

Řetězec určený ke kódování

useNamedEntities
Boolean

trueChcete-li pro určitá kódování znaků použít pojmenované entity HTML 4,0; falseke kódování pomocí pouze & #DECIMAL; Notation.

Návraty

String

Kódovaný řetězec.

Poznámky

Tato metoda zakóduje všechny znaky kromě těch, které jsou uvedeny v seznamu bezpečných hodnot. Znaky jsou zakódovány pomocí &#DECIMAL; notace Notation.

Poznámka

Přidejte dvojité uvozovky ("") nebo jednoduché uvozovky (') kolem výsledného řetězce před jeho přidáním na stránku.

V následující tabulce jsou uvedeny výchozí bezpečné znaky. Všechny znaky jsou z ovládacího prvku Unicode C0 a základního rozsahu znaků latinky, Pokud se neuvádí ve sloupci Popis.

Znaky Popis
A–Z Velká písmena latinky abecední znaky
a–z Malá písmena latinky abecední znaky
0-9 Čísla
(mezera) Místo
! Vykřičník
# Znaménko čísla, hodnota hash
$ Znak dolaru
% Znak procenta
( ) Závorky
* Hvězdička
+ Znaménko plus
, Čárka
- Pomlčka, minus
. Period, dot, full stop
/ Lomítko
: Dvojtečka
; Středník
= Rovnítko
? Otazník
@ Commercial at
[ ] Hranaté závorky
\ Zpětné lomítko
^ Stříška
_ Podtržítko
` Diakritika
{ } Složené závorky
| Svislá čára
~ Tilda
0x00A1 – 0x00AC Speciální znaky mezi 0x00A1 (161 desetinných míst) a 0x00AC (172 desetinných míst) z rozsahu znaků Unicode C1 Controls a Latin-1 Supplement. Znaky v tomto rozsahu jsou kódovány, useNamedEntities když je true .
0x00AE – 0x00FF Speciální znaky mezi 0x00AE (174 desetinných míst) a 0x00FF (255 desetinných míst) z rozsahu znaků Unicode C1 Controls a Latin-1 Supplement. Znaky v tomto rozsahu jsou kódovány, useNamedEntities když je true .
0x0100 – 0x017F Znaky mezi 0x0100 (256 desetinných míst) a 0x017F (383 desetinných míst). (Rozsah znaků Unicode Latin-Extended-A.)
0x0180 – 0x024F Znaky mezi 0x0180 (384 desetinných míst) a 0x024F (591 desetinných míst). (Rozsah znaků Unicode Latin-Extended-B.)
0x0250 – 0x02AF Znaky mezi 0x0250 (592 desetinných míst) a 0x02AF (687 desetinných míst). (Rozsah znaků rozšíření IPA sady Unicode.)
0x02B0 – 0x02FF Znaky mezi 0x02B0 (688 desetinných míst) a 0x02FF (767 desetinných míst). (Rozsah znaků modifikátoru mezer v kódování Unicode.)
0x0300 – 0x036F Znaky mezi 0x0300 (768 desetinných míst) a 0x036F (879 desetinných míst). (Rozsah znaků zkombinování diakritických značek Unicode.)

Následující tabulka uvádí příklady vstupů a odpovídající zakódované výstupy.

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;

Pokud chcete přizpůsobit seznam bezpečných položek, zavolejte MarkAsSafe metodu .

Platí pro

HtmlEncode(String, TextWriter)

Zakóduje zadaný řetězec pro použití jako text ve značce HTML a vypište řetězec pomocí zadaného zapisovače textu.

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

Řetězec určený ke kódování

output
TextWriter

Zapisovač textu, který se použije k výstupu řetězce.

Poznámky

Tato metoda kóduje všechny znaky kromě těch, které jsou v bezpečném seznamu. Znaky se kódují pomocí &#DECIMAL; notace.

Poznámka

Před přidáním výsledného řetězce na stránku dejte do uvozovek (" ") nebo jednoduchých uvozovek ('').

Následující tabulka uvádí výchozí bezpečné znaky. Všechny znaky jsou z ovládacích prvků Unicode C0 a z rozsahu znaků základní latinky, pokud není ve sloupci Popis.

Znaky Popis
A–Z Velká písmena latinky abecední znaky
a–z Malá písmena latinky abecední znaky
0-9 Čísla
(mezera) Místo
! Vykřičník
# Znaménko čísla, hodnota hash
$ Znak dolaru
% Znak procenta
( ) Závorky
* Hvězdička
+ Znaménko plus
, Čárka
- Pomlčka, minus
. Period, dot, full stop
/ Lomítko
: Dvojtečka
; Středník
= Rovnítko
? Otazník
@ Commercial at
[ ] Hranaté závorky
\ Zpětné lomítko
^ Stříška
_ Podtržítko
` Diakritika
{ } Složené závorky
| Svislá čára
~ Tilda
0x00A1 – 0x00AC Speciální znaky mezi 0x00A1 (161 desetinných míst) a 0x00AC (172 desetinných míst) z rozsahu znaků Unicode C1 Controls a Latin-1 Supplement. Znaky v tomto rozsahu jsou kódovány, useNamedEntities když je true .
0x00AE – 0x00FF Speciální znaky mezi 0x00AE (174 desetinných míst) a 0x00FF (255 desetinných míst) z rozsahu znaků Unicode C1 Controls a Latin-1 Supplement. Znaky v tomto rozsahu jsou kódovány, useNamedEntities když je true .
0x0100 – 0x017F Znaky mezi 0x0100 (256 desetinných míst) a 0x017F (383 desetinných míst). (Rozsah znaků Unicode Latin-Extended-A.)
0x0180 – 0x024F Znaky mezi 0x0180 (384 desetinných míst) a 0x024F (591 desetinných míst). (Rozsah znaků Unicode Latin-Extended-B.)
0x0250 – 0x02AF Znaky mezi 0x0250 (592 desetinných míst) a 0x02AF (687 desetinných míst). (Rozsah znaků rozšíření IPA sady Unicode.)
0x02B0 – 0x02FF Znaky mezi 0x02B0 (688 desetinných míst) a 0x02FF (767 desetinných míst). (Rozsah znaků modifikátoru mezer v kódování Unicode.)
0x0300 – 0x036F Znaky mezi 0x0300 (768 desetinných míst) a 0x036F (879 desetinných míst). (Rozsah znaků zkombinování diakritických značek Unicode.)

Následující tabulka uvádí příklady vstupů a odpovídající zakódované výstupy.

alert('XSS Attack!'); alert(&#39;XSS&#32;Attack!&#39;);
<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;

Pokud chcete přizpůsobit seznam bezpečných položek, zavolejte MarkAsSafe metodu .

Platí pro