¿Cuándo usar esc_html y cuándo usar sanitize_text_field?


11

Parece que hacen casi el mismo tipo de trabajo. Entonces...

¿Cuándo debo usar en esc_html()lugar de sanitize_text_field()?

Respuestas:


19

esc_html() es más o menos sin pérdidas: simplemente convierte el marcado HTML en texto visible codificado, para que el navegador no lo represente como marcado.

Semánticamente es un escape , por lo que está destinado a usarse para que la salida a la página sea segura.

sanitize_text_field()sin embargo, en realidad elimina todo el marcado HTML, así como espacios en blanco adicionales. No deja nada más que texto sin formato.

Semánticamente es desinfectante , por lo que está destinado a usarse para hacer que las entradas se guarden de forma segura.


¿No es mejor usar esc_html tanto para la salida como para guardar? No mostraré ningún marcado de todos modos ... entonces, ¿cuándo usaría sanitize_text_field ()?
sí,

1
@yeahman "mejor" ¿cómo? Están haciendo cosas claramente diferentes. Desechar el marcado generalmente se usa para cosas donde no se espera el marcado, por ejemplo, un formulario que toma un nombre.
Rarst

Quiero decir que almacena lo que el usuario ve y tiene entrada ... como dijiste que no tiene pérdidas ... (por ejemplo, ingresa "la etiqueta <head> es donde debes incluir tus archivos css", espera ver la <head> en su puesto). Para un campo de nombre, controlaría la entrada mediante validación; ¿No es más adecuado?
sí,

Estoy interesado en las diferencias entre sanitize_text_field()ystrip_tags
myol

strip_tags se usa en sanitize_text_field () si no me equivoco
hombre
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.