¿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.