Estoy tratando de comprender la desinfección de datos (no la validación de datos) para ayudarme a escribir temas seguros para WordPress. He buscado en Internet tratando de encontrar una guía completa para desarrolladores de temas que detalle las mejores prácticas. Encontré un par de recursos, incluida la página del códice titulada Validación de datos, aunque ninguno me fue útil. La página del códice enumera las funciones de desinfección disponibles, su uso y lo que hacen, pero no explica por qué usaría una sobre la otra o en qué situación usaría una función de desinfección particular. El propósito de esta publicación es solicitar a todos que contribuyan con ejemplos de código incorrecto / no desinfectado y cómo deben reescribirse para una correcta desinfección. Este podría ser un código general para desinfectar el título de la publicación o la publicación thumnails src o códigos más elaborados que manejen la desinfección de$_POST
datos para solicitudes de Ajax.
Además, me gustaría saber si las funciones de WordPress para agregar / actualizar la base de datos (por ejemplo, las mencionadas en el bloque de código a continuación) se encargan automáticamente del trabajo de desinfección por usted. En caso afirmativo, ¿hay alguna excepción cuando tomaría medidas adicionales para desinfectar los datos enviados a estas funciones de WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Además, ¿la desinfección debe hacerse de manera diferente cuando se hace eco de HTML en PHP en comparación con PHP en línea de HTML? Para ser más claro de lo que estoy preguntando, aquí está el código:
<?php echo '<div class="some-div ' . $another_class . '" data-id="' . $id . '" >' . $text . '</div>'; ?>
<div class="some-div <?php echo $another_class; ?>" data-id="<?php echo $id; ?>"><?php echo $text; ?></div>
Ambas declaraciones anteriores logran lo mismo. ¿Pero necesitan ser santificados de manera diferente?