Prévention de l'injection SQL dans ASP.Net
L'injection SQL est une vulnérabilité de sécurité courante qui peut permettre aux attaquants de compromettre des sites Web ou des bases de données. Dans ASP.Net, les requêtes paramétrées sont une méthode recommandée pour empêcher l'injection SQL en séparant l'instruction SQL de l'entrée utilisateur, empêchant ainsi les caractères malveillants d'être interprétés comme faisant partie de la requête.
Requête paramétrée Exemple
L'extrait suivant montre comment utiliser des requêtes paramétrées dans ASP.Net pour empêcher SQL injection :
SqlCommand cmd = new SqlCommand("Select * from Table where ref=@ref", con); cmd.Parameters.Add("@ref", SqlDbType.Int); cmd.Parameters["@ref"] = 34;
OpenQuery avec des serveurs liés
Lorsqu'il s'agit de requêtes distribuées et de serveurs liés, OpenQuery peut être utilisé. Cependant, étant donné qu'OpenQuery accepte une chaîne, il n'est pas possible de transmettre une variable dans le cadre de la chaîne. Pour résoudre ce problème, la requête peut être formatée comme suit :
Dim conn As SqlConnection = New SqlConnection("your SQL Connection String") Dim cmd As SqlCommand = conn.CreateCommand() cmd.CommandText = "Select * db...table where investor = @investor" Dim parameter As SqlParameter = cmd.CreateParameter() parameter.DbType = SqlDbType.Int parameter.ParameterName = "@investor" parameter.Direction = ParameterDirection.Input parameter.Value = 34
Mesures supplémentaires
En plus des requêtes paramétrées, les mesures suivantes peuvent sécuriser davantage votre application contre Injection SQL :
En suivant ces bonnes pratiques et en restant vigilant face aux menaces d'injection SQL, vous pouvez améliorez considérablement la sécurité de vos applications ASP.Net.
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!