Cet article analyse en détail les points de connaissances liés à l'injection SQL à travers la comparaison de SQL et MYSQL, ainsi que les principes de l'injection SQL et comment empêcher l'injection SQL. J'espère que cela pourra aider certaines personnes dans le besoin.
1. Qu'est-ce que l'injection SQL ?
L'injection SQL est une technique d'attaque qui ajoute du code SQL aux paramètres d'entrée et le transmet au serveur SQL pour analyse et exécution
2 Comment est-ce arrivé ?
Les développeurs Web ne peuvent pas garantir que toutes les entrées ont été filtrées
Un attaquant utilise les données d'entrée envoyées au serveur SQL pour construire du code SQL exécutable
La base de données est pas Effectuer les configurations de sécurité correspondantes
3. Comment trouver les vulnérabilités SQL ?
Identifier tous les points d'entrée dans l'application web
Comprendre quels types de requêtes déclenchent des exceptions ? (Caractère spécial " ou ')
Détecter les exceptions dans la réponse du serveur
4. Comment effectuer une attaque par injection SQL ?
Injection de numéro :
Sélectionnez * dans le nom de la table où id=1 ou 1=1 ;
Injection de chaîne :
Fonction de commentaire de MySQL :
Les caractères après # et -- sont commentés et la requête sera correcte quel que soit le mot de passe saisi. Veuillez cliquer ici pour saisir la description de l'image
5. 🎜>
Vérifiez strictement le format d'entrée : is_numeric(var), vérification de validation de tp5, l'injection de chaîne utilise une expression régulière pour voir si elle est entre [A-Za-z] escape : addlashes (str), fonction mysqli_escape_string() pour échapper6. Mécanisme de précompilation de MySQLi
Liaison paramétrée La liaison paramétrée est un autre obstacle pour empêcher l'injection SQL. PHP MySQLi et PDO fournissent une telle fonction. Par exemple, MySQLi peut interroger comme ceci : . PDO est encore plus pratique, comme : Recommandations associées :Méthodes de sites Web d'injection SQL
Partage des méthodes PHP simples et efficaces pour empêcher l'injection SQL
Explication des méthodes PHP pour empêcher l'injection SQL
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!