WordPress
Sécurité dans WordPress - Sanitization
Recherche…
Syntaxe
- sanitize_text_field (string $ str)
- sanitize_title (chaîne $ title, chaîne $ fallback_title, chaîne $ context)
- sanitize_email (chaîne $ email)
- sanitize_html_class (string $ class, string $ fallback)
- sanitize_file_name (string $ name)
- sanitize_user (chaîne $ nom_utilisateur, booléen $ strict)
Remarques
La sécurité doit toujours être à l’esprit lors du développement. Sans sécurité, une application est ouverte à diverses attaques telles que des injections SQL, XSS, CSRF, RFI, etc. qui peuvent entraîner de graves problèmes.
Les données non fiables proviennent de nombreuses sources (utilisateurs, sites tiers, votre propre base de données! ...) et tout cela doit être validé à la fois en entrée et en sortie. (Cours: WordPress Codex)
Les données doivent être validées, désinfectées ou échappées en fonction de l'utilisation et du but.
Pour valider, vous devez vous assurer que les données que vous avez demandées à l'utilisateur correspondent à celles qu'elles ont soumises. (Cours: WordPress Codex)
La désinfection est une approche un peu plus libérale de l’acceptation des données utilisateur. Nous pouvons recourir à ces méthodes lorsqu'il existe une gamme de données acceptables. (Cours: Wordpress Codex)
Echapper, c'est prendre les données que vous possédez déjà et aider à les sécuriser avant de les rendre à l'utilisateur final. (Cours: WordPress Codex)
Assainir le champ de texte
$title = sanitize_text_field( $_POST['title'] );
Désinfecter le titre
La valeur renvoyée est destinée à être utilisée dans une URL, et non en tant que titre lisible par l'homme. Utilisez plutôt sanitize_text_field.
$new_url = sanitize_title($title);
Désinfecter l'email
$sanitized_email = sanitize_email(' [email protected]! ');
Sanitize html class
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Désinfecter le nom du fichier
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
Sans désinfecter le nom du fichier, un attaquant pourrait simplement transmettre http: // site_attaquant / malicous_page en entrée et exécuter le code de votre serveur.
Désinfecter le nom d'utilisateur
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
$ user value après sanitize est "nom d'utilisateur attaquant"