security – ¿Qué KSES se debe utilizar y cuándo?

Pregunta:

La fuente de WP muestra que wp_filter_kses y wp_filter_post_kses son datos que "se espera que se escapen con barras".

Por otro lado, a wp_kses_data se le pasan datos que "se espera que no se wp_kses_post " y wp_kses_post tiene un código que se parece a wp_kses_data.

¿Qué tan seguro es pasar datos desconocidos (en términos de escapes con barras) a estas funciones?

¿Se puede preferir el primer juego al segundo o es más seguro preferir el segundo juego?

¿O se trata de un caso en el que es absolutamente necesario conocer el estado de sus datos en términos de recorte?

–actualizar–

Ahora supongo que si no sabe si los datos se han escapado, puede usar wp_kses_data( stripslashes_deep( $data ) ); y ejecute el retorno a través de addedlashes () si necesita escapar al final.

Respuesta:

Del códice:

wp_filter_kses generalmente debe preferirse a wp_kses_data porque wp_magic_quotes escapa $ _GET, $ _POST, $ _COOKIE, $ _SERVER y $ _REQUEST bastante temprano en el sistema de enlace, poco después de 'plugins_loaded' pero antes que 'init' o 'wp_loaded'.

Entonces se prefiere el primer conjunto. Más bien se trata de "¿es más seguro eliminar las barras diagonales que no?" Ambos usan el mismo HTML permitido. Bueno, sí, depende, en casos absolutos, pero supongo que es más seguro que no hacerlo.

Uso básico de kses:

$filtered = wp_kses($unfiltered, $allowed_html, $allowed_protocols);

Todas las funciones de wordpress kses, simplemente hazlas

$filtered = wp_kses($unfiltered, $allowedtags);

ENTONCES:

$filtered = wp_kses_data($unfiltered);
$filtered = wp_filter_kses($unfiltered); // does the same, but will also slash escape the data

las variaciones de la post utilizan un conjunto diferente de etiquetas; aquellos permitidos para el uso por no administradores.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım