Compartir a través de


AntiXssEncoder.HtmlEncode Método

Definición

Codifica la cadena especificada para su uso como texto en marcado HTML.

Sobrecargas

HtmlEncode(String, Boolean)

Codifica la cadena especificada para su uso como texto en marcado HTML y especifica opcionalmente si se han de utilizar entidades denominadas de HTML 4.0.

HtmlEncode(String, TextWriter)

Codifica la cadena especificada para su uso como texto en marcado HTML y genera la cadena mediante el escritor de texto especificado.

HtmlEncode(String, Boolean)

Codifica la cadena especificada para su uso como texto en marcado HTML y especifica opcionalmente si se han de utilizar entidades denominadas de 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

Parámetros

input
String

Cadena que se va a codificar.

useNamedEntities
Boolean

true para usar entidades con nombre de HTML 4.0 para algunas codificaciones de caracteres; false para codificar usando únicamente la notación &#DECIMAL;.

Devoluciones

String

Cadena codificada.

Comentarios

Este método codifica todos los caracteres excepto los que están en la lista segura. Los caracteres se codifican mediante &#DECIMAL; la notación .

Nota

Coloque comillas dobles (" ") o comillas simples (' ') alrededor de la cadena resultante antes de agregarla a una página.

En la tabla siguiente se enumeran los caracteres seguros predeterminados. Todos los caracteres son de los controles Unicode C0 y el intervalo de caracteres latinos básicos, a menos que se indique en la columna Descripción.

Carácter(es) Descripción
A-Z Caracteres alfabéticos latinos en mayúsculas
a-z Caracteres alfabéticos latinos en minúsculas
0-9 Números
(Espacio) Space
! Signo de exclamación
# Signo de número, hash
$ Signo de dólar
% Signo de porcentaje
( ) Paréntesis
* Asterisco
+ Signo más
, Coma
- Guion, menos
. Punto, punto, detención completa
/ Slash
: Dos puntos
; Punto y coma
= Signo igual
? Signo de interrogación
@ Comercial en
[ ] Corchetes
\ Barra diagonal inversa
^ Símbolo de intercalación
_ Guión bajo
` Acento grave
{ } Llaves, llaves
| Línea vertical
~ Tilde de la ñ
0x00A1: 0x00AC Caracteres especiales entre 0x00A1 (161 decimal) y 0x00AC (172 decimal) de los controles Unicode C1 y el intervalo de caracteres de complemento latino-1. Los caracteres de este intervalo se codifican cuando useNamedEntities es true .
0x00AE: 0x00FF Caracteres especiales entre 0x00AE (174 decimales) y 0x00FF (255 decimales) de los controles Unicode C1 y el intervalo de caracteres de complemento latino-1. Los caracteres de este intervalo se codifican cuando useNamedEntities es true .
0x0100: 0x017F Caracteres entre 0x0100 (256 decimales) y 0x017F (383 decimal). (Intervalo de caracteres Unicode Latín extendido-A).
0x0180: 0x024F Caracteres entre 0x0180 (384 decimal) y 0x024F (591 decimal). (Intervalo de caracteres Unicode Latin-Extended-B).
0x0250: 0x02AF Caracteres entre 0x0250 (592 decimal) y 0x02AF (687 decimal). (Intervalo de caracteres de las extensiones de IPA Unicode).
0x02B0: 0x02FF Caracteres entre 0x02B0 (688 decimal) y 0x02FF (767 decimal). (Intervalo de caracteres de las letras modificadoras de espaciado Unicode).
0x0300: 0x036F Caracteres entre 0x0300 (768 decimal) y 0x036F (decimal 879). (Intervalo de caracteres Unicode Combinando marcas diacríticas).

En la tabla siguiente se muestran ejemplos de entradas y las salidas codificadas correspondientes.

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 la lista segura, llame al MarkAsSafe método .

Se aplica a

HtmlEncode(String, TextWriter)

Codifica la cadena especificada para su uso como texto en marcado HTML y genera la cadena mediante el escritor de texto 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

Cadena que se va a codificar.

output
TextWriter

El sistema de escritura de texto que se usará para generar la cadena.

Comentarios

Este método codifica todos los caracteres excepto los que están en la lista segura. Los caracteres se codifican mediante &#DECIMAL; la notación.

Nota

Coloque comillas dobles (" ") o comillas simples (' ') alrededor de la cadena resultante antes de agregarla a una página.

En la tabla siguiente se enumeran los caracteres seguros predeterminados. Todos los caracteres son de los controles Unicode C0 y el intervalo de caracteres latinos básicos, a menos que se indique en la columna Descripción.

Carácter(es) Descripción
A-Z Caracteres alfabéticos latinos en mayúsculas
a-z Caracteres alfabéticos latinos en minúsculas
0-9 Números
(Espacio) Space
! Signo de exclamación
# Signo de número, hash
$ Signo de dólar
% Signo de porcentaje
( ) Paréntesis
* Asterisco
+ Signo más
, Coma
- Guion, menos
. Punto, punto, detención completa
/ Slash
: Dos puntos
; Punto y coma
= Signo igual
? Signo de interrogación
@ Comercial en
[ ] Corchetes
\ Barra diagonal inversa
^ Símbolo de intercalación
_ Guión bajo
` Acento grave
{ } Llaves, llaves
| Línea vertical
~ Tilde de la ñ
0x00A1: 0x00AC Caracteres especiales entre 0x00A1 (161 decimales) y 0x00AC (172 decimales) de los controles Unicode C1 y el intervalo de caracteres de complemento latino-1. Los caracteres de este intervalo se codifican cuando useNamedEntities es true .
0x00AE: 0x00FF Caracteres especiales entre 0x00AE (174 decimales) y 0x00FF (255 decimales) de los controles Unicode C1 y el intervalo de caracteres de complemento latino-1. Los caracteres de este intervalo se codifican cuando useNamedEntities es true .
0x0100: 0x017F Caracteres entre 0x0100 (256 decimales) y 0x017F (383 decimales). (Intervalo de caracteres Unicode Latin-Extended-A).
0x0180: 0x024F Caracteres entre 0x0180 (decimal 384) y 0x024F (591 decimal). (Intervalo de caracteres Unicode Latin-Extended-B).
0x0250: 0x02AF Caracteres entre 0x0250 (decimal 592) y 0x02AF (687 decimal). (Intervalo de caracteres de extensiones IPA Unicode).
0x02B0: 0x02FF Caracteres entre 0x02B0 (decimal 688) y 0x02FF (767 decimal). (Intervalo de caracteres de letras modificadoras de espaciado Unicode).
0x0300: 0x036F Caracteres entre 0x0300 (decimal 768) y 0x036F (879 decimal). (Intervalo de caracteres Unicode combinando marcas diacríticas).

En la tabla siguiente se enumeran ejemplos de entradas y las salidas codificadas correspondientes.

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 la lista segura, llame al MarkAsSafe método .

Se aplica a