Command.Parameters.Add() est obsolète : utilisation de AddWithValue() dans l'injection de requêtes MySQL
L'utilisation de Command.Parameters.Add () dans les requêtes MySQL est obsolète pour des raisons de sécurité. Pour garantir la sécurité de l'injection de requêtes, il est recommandé d'utiliser plutôt la méthode AddWithValue().
Voici comment mettre à jour votre code pour utiliser AddWithValue() :
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)"; command.CommandText = SQL; command.Parameters.AddWithValue("@mcUserName", mcUserNameNew); command.Parameters.AddWithValue("@mcUserPass", mcUserPassNew); command.Parameters.AddWithValue("@twUserName", twUserNameNew); command.Parameters.AddWithValue("@twUserPass", twUserPassNew);
En utilisant AddWithValue() , vous éliminez le risque d'inclure des caractères spéciaux ou des commandes SQL malveillantes dans votre requête, empêchant ainsi les attaques par injection SQL.
La requête SQL d'origine, qui encapsulait le les espaces réservés avec des guillemets simples, constituaient également une faille de sécurité. Le format correct pour une requête SQL dans MySQL consiste à utiliser des guillemets (`) au lieu de guillemets simples pour les noms de champs et de tables. Par conséquent, la requête SQL mise à jour devrait ressembler à ceci :
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)";
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!