Principes de codage sécurisé PHP : Comment filtrer et échapper aux entrées de l'utilisateur à l'aide de la fonction filter_var
Citation :
La sécurité est un facteur crucial lors du développement d'applications Web. Le filtrage et l'échappement des entrées utilisateur constituent une étape critique pour empêcher l'injection SQL, les attaques de scripts intersites et d'autres vulnérabilités de sécurité. En PHP, le filtrage et l'échappement des entrées utilisateur peuvent être facilement réalisés à l'aide de la fonction filter_var. Cet article vous expliquera comment utiliser correctement la fonction filter_var pour protéger vos applications PHP.
a) FILTER_SANITIZE_STRING : filtre les balises HTML et PHP dans les chaînes.
$input = "<script> alert('XSS attack!') </script>" $clean_input = filter_var($input, FILTER_SANITIZE_STRING); echo $clean_input; // 输出:alert('XSS attack!')
b) FILTER_SANITIZE_EMAIL : Supprimez tous les caractères sauf les lettres, les chiffres et @ de la chaîne.
$email = "john.doe@example.com"; $clean_email = filter_var($email, FILTER_SANITIZE_EMAIL); echo $clean_email; // 输出:john.doe@example.com
c) FILTER_SANITIZE_URL : Supprime tous les caractères de la chaîne sauf les lettres, les chiffres et :/.?=&.
$url = "http://example.com/?q=test"; $clean_url = filter_var($url, FILTER_SANITIZE_URL); echo $clean_url; // 输出:http://example.com/?q=test
a) Fonction htmlspecialchars : convertit les caractères spéciaux en entités HTML.
$input = "<script> alert('XSS attack!') </script>"; $escaped_input = htmlspecialchars($input, ENT_QUOTES, 'UTF-8'); echo $escaped_input; // 输出:<script> alert('XSS attack!') </script>
b) fonction addlashes : ajoute des barres obliques inverses avant certains caractères dans une chaîne.
$input = "It's a beautiful day!"; $escaped_input = addslashes($input); echo $escaped_input; // 输出:It's a beautiful day!
$username = $_POST['username']; $password = $_POST['password']; $clean_username = filter_var($username, FILTER_SANITIZE_STRING); $clean_password = addslashes($password); // 在数据库查询前使用转义后的数据 $query = "SELECT * FROM users WHERE username='$clean_username' AND password='$clean_password'";
Résumé :
En utilisant la fonction filter_var, nous pouvons filtrer et échapper facilement et efficacement aux entrées de l'utilisateur, améliorant ainsi la sécurité des applications Web. Lors du traitement des entrées utilisateur, nous devons toujours utiliser des méthodes de filtrage et d'échappement pour empêcher l'injection SQL, XSS et d'autres vulnérabilités de sécurité courantes.
Veuillez noter que dans le développement réel, le filtrage et l'échappement des entrées utilisateur ne constituent que la première ligne de défense pour protéger votre application. Nous devons également utiliser d'autres mesures de sécurité telles que la validation des entrées, l'utilisation d'instructions préparées, etc. Ce n'est qu'en appliquant plusieurs mesures de sécurité combinées que nous pouvons garantir que nos applications sont aussi sécurisées que possible.
Lecture approfondie :
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!