Ne croyez pas ce que l'utilisateur saisit lors de la connexion, la saisie de l'utilisateur doit être traitée
Injection SQL : (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
' or 1=1 #
Plusieurs fonctions pour empêcher l'injection SQL :
addslashes( $ string): Utilisez des barres obliques inverses pour citer les caractères spéciaux dans la chaîne' "
$username=addslashes($username);
mysql_escape_string($string): Utilisez des barres obliques inverses pour échapper aux caractères spéciaux dans la chaîne Caractères, utilisés dans mysql_query () requêtes.
$username=mysql_escape_string($username);
mysql_real_escape_string($string): Échappe les caractères spéciaux dans les chaînes utilisées dans les instructions SQL, en tenant compte du jeu de caractères actuel de la connexion, vous devez vous en assurer. l'état actuel de la connexion peut être utilisé avant d'utiliser cette fonction, sinon un avertissement sera signalé sans échapper % et _
$username=mysql_real_escape_string($username);
Par exemple :
<?php $clean = array(); $mysql = array(); $clean['last_name'] = "O'Reilly"; $mysql['last_name'] = mysql_real_escape_string($clean['last_name']); $sql = "INSERT INTO user (last_name) VALUES ('{$mysql['last_name']}')"; ?>
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!