Avatar ·

Comment nettoyer correctement les entrées utilisateur en PHP : protection contre XSS et injections SQL

Bonjour à tous ! Je suis un développeur PHP débutant et j'ai rencontré un problème de sécurité. Sur mon site, il y a un formulaire d'inscription et de commentaires. Je reçois les données des utilisateurs et je les insère directement dans la base de données et les affiche sur la page. Récemment, j'ai remarqué que quelqu'un avait saisi ce code dans le champ du nom : ``, et lors de l'affichage sur la page, ce script s'est exécuté. J'ai aussi entendu parler des injections SQL, mais je ne comprends pas encore complètement comment m'en protéger. Voici un exemple de mon code : ```php // Récupération des données du formulaire $name = $_POST['name']; $email = $_POST['email']; // Sauvegarde dans la base de données (MySQL) $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; mysqli_query($connection, $query); // Affichage sur la page echo "Bonjour, $name!"; ``` Comment nettoyer correctement les données ? Dois-je utiliser `htmlspecialchars()` ou `strip_tags()` ? Et pour la base de données, `mysqli_real_escape_string()` ? Ou existe-t-il des approches plus modernes ? Veuillez me conseiller sur les meilleures pratiques pour PHP 8+. Tags : php