J'essaie de comprendre le nettoyage des données (pas la validation des données) pour m'aider à écrire des thèmes sécurisés pour WordPress. J'ai cherché sur Internet en essayant de trouver un guide complet pour les développeurs de thèmes détaillant les meilleures pratiques. J'ai rencontré quelques ressources, notamment la page du codex intitulée Data Validation, bien qu'aucune ne m'ait été utile. La page du codex répertorie les fonctions de désinfection disponibles, leur utilisation et ce qu'elles font, mais ne parvient pas à expliquer pourquoi vous utiliseriez l'une sur l'autre ou dans quelle situation utiliseriez-vous une fonction de désinfection particulière. Le but de cet article est de demander à tout le monde de fournir des exemples de code incorrect / non désinfecté et comment il doit être réécrit pour une désinfection appropriée. Il peut s'agir d'un code général pour assainir le titre de l'article ou des articles src ou de codes plus élaborés qui gèrent l'assainissement de$_POST
données pour les requêtes Ajax.
De plus, je voudrais savoir si les fonctions WordPress pour ajouter / mettre à jour la base de données (par exemple celles mentionnées dans le bloc de code ci-dessous) prennent automatiquement en charge le travail de désinfection pour vous? Si oui, y a-t-il des exceptions lorsque vous prendriez des mesures supplémentaires pour désinfecter les données envoyées à ces fonctions WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
En outre, la désinfection doit-elle être effectuée différemment lors de l'écho de HTML en PHP par rapport à PHP en ligne de HTML? Pour être plus clair sur ce que je demande, voici le code:
<?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>
Les deux déclarations ci-dessus réalisent la même chose. Mais doivent-ils être santisés différemment?