AntiXssEncoder.HtmlEncode Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Codifica a cadeia de caracteres especificada para uso como texto na marcação HTML.
Sobrecargas
HtmlEncode(String, Boolean) |
Codifica a cadeia de caracteres especificada para uso como texto na marcação HTML e, opcionalmente, especifica se entidades nomeadas HTML 4.0 devem ser usadas. |
HtmlEncode(String, TextWriter) |
Codifica a cadeia de caracteres especificada para uso como texto na marcação HTML e gera a cadeia de caracteres usando o text writer especificado. |
HtmlEncode(String, Boolean)
Codifica a cadeia de caracteres especificada para uso como texto na marcação HTML e, opcionalmente, especifica se entidades nomeadas HTML 4.0 devem ser usadas.
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
Parâmetros
- input
- String
A cadeia de caracteres a ser codificada.
- useNamedEntities
- Boolean
true
para usar entidades nomeadas de HTML 4.0 em algumas codificações de caracteres; false
para codificar usando apenas a notação &#DECIMAL;
.
Retornos
A cadeia de caracteres codificada.
Comentários
Esse método codifica todos os caracteres, exceto aqueles que estão na lista segura. Os caracteres são codificados usando &#DECIMAL;
notação.
Observação
Coloque aspas duplas (" ") ou aspas simples (" ") ao redor da cadeia de caracteres resultante antes de adicioná-la a uma página.
A tabela a seguir lista os caracteres seguros padrão. Todos os caracteres são do intervalo de caracteres Unicode C0 Controls e Basic Latin , a menos que indicado na coluna Descrição.
Caractere(s) | Descrição |
---|---|
A-Z | Caracteres alfabéticos latinos maiúsculos |
a-z | Caracteres alfabéticos latinos minúsculos |
0-9 | Números |
(Espaço) | Space |
! | Ponto de exclamação |
# | Sinal de número, hash |
$ | Cifrão |
% | Símbolo de porcentagem |
( ) | Parênteses |
* | Asterisco |
+ | Sinal de adição |
, | Vírgula |
- | Hífen, menos |
. | Ponto, ponto, parada completa |
/ | Barra |
: | Dois pontos |
; | Ponto e vírgula |
= | Sinal de igual |
? | Ponto de interrogação |
@ | Comercial em |
[ ] | Colchetes |
\ | Barra invertida |
^ | Cursor |
_ | Sublinhado |
` | Acento grave |
{ } | Chaves, colchetes encaracolados |
| | Linha vertical |
~ | Til |
0x00A1 - 0x00AC | Caracteres especiais entre 0x00A1 (161 decimais) e 0x00AC (172 decimais) do intervalo de caracteres Unicode C1 Controls e Latin-1 Supplement . Os caracteres nesse intervalo são codificados quando useNamedEntities é true . |
0x00AE – 0x00FF | Caracteres especiais entre 0x00AE (174 decimais) e 0x00FF (255 decimais) do intervalo de caracteres Unicode C1 Controls e Latin-1 Supplement . Os caracteres nesse intervalo são codificados quando useNamedEntities é true . |
0x0100 - 0x017F | Caracteres entre 0x0100 (256 decimais) e 0x017F (383 decimais). (O intervalo de caracteres Latino-Estendido Unicode. ) |
0x0180 – 0x024F | Caracteres entre 0x0180 (384 decimais) e 0x024F (591 decimais). (O intervalo de caracteres Latino-Estendido-B Unicode.) |
0x0250 - 0x02AF | Caracteres entre 0x0250 (592 decimais) e 0x02AF (687 decimais). (O intervalo de caracteres extensões IPA Unicode.) |
0x02B0 – 0x02FF | Caracteres entre 0x02B0 (688 decimais) e 0x02FF (767 decimais). (O intervalo de caracteres letras modificadoras de espaçamento Unicode.) |
0x0300 – 0x036F | Caracteres entre 0x0300 (768 decimais) e 0x036F (879 decimais). (O intervalo de caracteres Unicode Combining Diacritical Marks .) |
A tabela a seguir lista exemplos de entradas e as saídas codificadas correspondentes.
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" |
Para personalizar a lista segura, chame o MarkAsSafe método .
Aplica-se a
HtmlEncode(String, TextWriter)
Codifica a cadeia de caracteres especificada para uso como texto na marcação HTML e gera a cadeia de caracteres usando o text writer especificado.
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)
Parâmetros
- value
- String
A cadeia de caracteres a ser codificada.
- output
- TextWriter
O text writer a ser usado para gerar a cadeia de caracteres.
Comentários
Esse método codifica todos os caracteres, exceto aqueles que estão na lista segura. Os caracteres são codificados usando &#DECIMAL;
notação.
Observação
Coloque aspas duplas (" ") ou aspas simples (" ") ao redor da cadeia de caracteres resultante antes de adicioná-la a uma página.
A tabela a seguir lista os caracteres seguros padrão. Todos os caracteres são do intervalo de caracteres Unicode C0 Controls e Basic Latin , a menos que indicado na coluna Descrição.
Caractere(s) | Descrição |
---|---|
A-Z | Caracteres alfabéticos latinos maiúsculos |
a-z | Caracteres alfabéticos latinos minúsculos |
0-9 | Números |
(Espaço) | Space |
! | Ponto de exclamação |
# | Sinal de número, hash |
$ | Cifrão |
% | Símbolo de porcentagem |
( ) | Parênteses |
* | Asterisco |
+ | Sinal de adição |
, | Vírgula |
- | Hífen, menos |
. | Ponto, ponto, parada completa |
/ | Barra |
: | Dois pontos |
; | Ponto e vírgula |
= | Sinal de igual |
? | Ponto de interrogação |
@ | Comercial em |
[ ] | Colchetes |
\ | Barra invertida |
^ | Cursor |
_ | Sublinhado |
` | Acento grave |
{ } | Chaves, colchetes encaracolados |
| | Linha vertical |
~ | Til |
0x00A1 - 0x00AC | Caracteres especiais entre 0x00A1 (161 decimais) e 0x00AC (172 decimais) do intervalo de caracteres Unicode C1 Controls e Latin-1 Supplement . Os caracteres nesse intervalo são codificados quando useNamedEntities é true . |
0x00AE – 0x00FF | Caracteres especiais entre 0x00AE (174 decimais) e 0x00FF (255 decimais) do intervalo de caracteres Unicode C1 Controls e Latin-1 Supplement . Os caracteres nesse intervalo são codificados quando useNamedEntities é true . |
0x0100 - 0x017F | Caracteres entre 0x0100 (256 decimais) e 0x017F (383 decimais). (O intervalo de caracteres Latino-Estendido Unicode. ) |
0x0180 – 0x024F | Caracteres entre 0x0180 (384 decimais) e 0x024F (591 decimais). (O intervalo de caracteres Latino-Estendido-B Unicode.) |
0x0250 - 0x02AF | Caracteres entre 0x0250 (592 decimais) e 0x02AF (687 decimais). (O intervalo de caracteres extensões IPA Unicode.) |
0x02B0 – 0x02FF | Caracteres entre 0x02B0 (688 decimais) e 0x02FF (767 decimais). (O intervalo de caracteres letras modificadoras de espaçamento Unicode.) |
0x0300 – 0x036F | Caracteres entre 0x0300 (768 decimais) e 0x036F (879 decimais). (O intervalo de caracteres Unicode Combining Diacritical Marks .) |
A tabela a seguir lista exemplos de entradas e as saídas codificadas correspondentes.
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" |
Para personalizar a lista segura, chame o MarkAsSafe método .