Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour en toute sécurité les bases de données SQL avec la saisie de l'utilisateur pour empêcher l'injection SQL ?
Comment mettre à jour en toute sécurité des bases de données SQL avec une entrée utilisateur à l'aide de paramètres
Lors de la mise à jour de bases de données SQL à partir d'une entrée utilisateur, il est crucial d'empêcher les attaques par injection SQL en utilisant des paramètres. Considérons le code VB suivant :
dbConn = New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP") dbConn.Open() MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = '" & TicBoxText.Text & _ "'WHERE Number = 1", dbConn) MyDataReader = MyCommand.ExecuteReader() MyDataReader.Close() dbConn.Close()
Si la saisie de l'utilisateur contient des caractères spéciaux comme des guillemets simples ou doubles, le code échouera. Pour résoudre ce problème, des paramètres peuvent être utilisés.
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = @TicBoxText WHERE Number = 1", dbConn) MyCommand.Parameters.AddWithValue("@TicBoxText", TicBoxText.Text)
Les paramètres nommés (@TicBoxText) sont comme des variables dans SQL. La valeur est fournie dans le programme VB.NET à l'aide de AddWithValue. Cela garantit que la commande SQL est autonome et protégée contre la manipulation des entrées utilisateur. Après avoir fourni la valeur, MyDataReader peut exécuter la commande en toute sécurité.
En utilisant des paramètres, vous pouvez empêcher les attaques par injection SQL et maintenir l'intégrité de votre base de données.
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!