Désinfection des entrées utilisateur PHP : un changement de paradigme
La désinfection des entrées utilisateur est cruciale pour se protéger contre l'injection SQL et les attaques XSS. Cependant, la notion courante de filtrage des entrées est erronée. Au lieu de cela, concentrez-vous sur le formatage correct des données pour le contexte dans lequel elles seront utilisées.
Instructions préparées pour les requêtes SQL
Au lieu de concaténer des variables dans des chaînes SQL, utilisez des instructions préparées avec des paramètres. Cela garantit que les données sont formatées correctement, protégeant ainsi contre l'injection SQL.
htmlspecialchars for HTML Output
Lors de l'intégration de chaînes dans un balisage HTML, utilisez htmlspecialchars pour échapper aux caractères spéciaux, empêchant ainsi Attaques XSS. Cela doit être appliqué à toutes les instructions echo et print.
Échappement pour les commandes Shell
Si vous utilisez des commandes externes avec exec, utilisez escapeshellcmd et escapeshellarg pour échapper aux chaînes et aux arguments, protection contre l'injection de commandes.
json_encode pour JSON
Évitez la création manuelle de chaînes JSON et utilisez plutôt json_encode. Le formatage JSON est complexe et une fonction dédiée garantit un formatage correct.
Entrée préformatée à titre d'exception
La seule exception à l'approche ci-dessus est la désinfection des entrées préformatées, telles que HTML soumis par l'utilisateur. Cela doit être évité autant que possible pour des raisons de sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!