Compartilhar via


AntiXssEncoder.HtmlEncode Método

Definição

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> &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;

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(&#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;

Para personalizar a lista segura, chame o MarkAsSafe método .

Aplica-se a