Un guide pour débutants de 39 ans; Sortie d’évasion en WordPress
Eggibile, si $name ou $value ne peut pas être utilisé en toute sécurité comme attribut HTML, nous pourrions détruire HTML ou pire. De plus, nous voulons nous assurer que $label est en fait HTML sécurisé.
Cela est particulièrement important si $label provient d’une base de données ou d’une autre source non fiable. Considérez la différence entre ces deux codes: echo ‘ ‘ ; Ou ce code: ESC _ HTML (‘) Fenêtre Position = ‘ http:\/\/shadyonlinepharmacy.com «; ‘ ); Dans le premier exemple, si c’est la chaîne sortie de votre base de données, et c’est l’exemple parfait de ce que le hacker va entrer dans votre base de données, vos utilisateurs seront redirigés vers http:\/\/shadyonlinepharmacy.com. Ce dernier exemple, cependant, semble mauvais.
Pour reconstruire l’exemple d’un élément HTML, nous voulons utiliser ESC _ ATTR () pour éviter tous les attributs HTML et ESC htm () pour éviter le contenu HTML. Voici à quoi ça ressemble: echo ‘ ‘ . ESC _ HTML ($Label). » ‘; Il n’est même pas aussi lisible que notre exemple original. Fermer les guillemets, utiliser une période, une fonction, puis utiliser une autre période, puis rouvrir les guillemets est un processus confus et sujet aux erreurs. Si vous ajoutez des guillemets simples et doubles, cela devient plus compliqué.
% Art. ‘, ESC _ ATTR ($name), ESC HTML ($Label), ESC ATTR ($name), ESC ATTR ($value);
Il est important d’éviter les retards dans tout pour éviter les entrées non fiables. Mais si vous n’êtes pas prudent, vous pourriez finir par fuir, ce qui pourrait causer beaucoup de problèmes. Ce n’est pas bon de ne pas courir. Courir trop peut faire mal. Suivez la pratique des vols retardés et évitez constamment le manque d’évacuation et les vols excessifs.
Par exemple, au début de cette année, de nombreux plugins WordPress populaires ont rencontré des problèmes de sécurité
Une requête SQL ou une chaîne de requête URL créée avec add _ Query Arg () ne peut pas être échappée. La hâte de résoudre ces problèmes et d’éviter d’être victime de problèmes similaires a conduit à de nombreuses fugues excessives, qui ont également causé ses propres problèmes. Par exemple, beaucoup de gens évitent chaque fois qu’ils utilisent add _ Query Arg (). Cela peut causer des problèmes si vous passez à nouveau une chaîne d’URL échappée avec des paramètres de requête via add _ Query Arg ().
Par exemple, j’écris souvent des fonctions telles que la fonction Slug _ get API URL () {
Renvoie l’URL rest _ URL (‘My namespace’);
Vous pouvez le regarder et penser, \
Fonction Slug _ my Custom API ($action = False) {
$URL = home _ URL (‘API personnalisée’);
If (IS _ String ($Operation) {
$URL = add _ Query Arg (‘action’, $action, $URL);
}
Renvoie $URL;
}
Fonction Slug _ submit action ($ID) {
Renvoie add _ Query Arg (‘id’, (int) $ID, Slug my Custom API (‘submit’);
}
Ajouter une action (‘WP _ enqueue scripts’, fonction () {
Si (! Is _ Singular ())
Reviens!
}
$post = get _ Post ();
WP _ enqueue script (‘Slug – script’, ‘…);
WP _ localize script (‘Slug script’, ‘Slug’, array (
\
« read» = > ESC _ URL (Slug my Custom API (‘read’),
« commit» = > ESC _ URL (Slug submit action ($post – > ID))
));
}); J’espère que vous avez appris les bases de ce post sur importan
Za pour quitter toutes les sorties. Le Guide des meilleures pratiques pour les développeurs de WordPress VIP est une excellente ressource sur les meilleures pratiques que chaque développeur de WordPress devrait lire. L’importance d’éviter tout est absolument dans la lecture.
Maintenant que vous avez maîtrisé les bases d’Escape et où trouver la fonction escape – Lisez Luke source – J’espère que vous pourrez commencer à vérifier le Code que vous avez écrit, ou couper et coller à partir de tutoriels utiles pour trouver les erreurs dans le respect de cette meilleure pratique.