AntiXssEncoder.HtmlEncode Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
Chcete-li pro určitá kódování znaků použít pojmenované entity HTML 4,0; false
ke kódování pomocí pouze & #DECIMAL;
Notation.
Návraty
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> |
<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" |
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('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" |
Pokud chcete přizpůsobit seznam bezpečných položek, zavolejte MarkAsSafe metodu .