injection SQL est une forme d'attaque de réseau qui implique code " injecter " dans une base de données dans une tentative de forcer le programme d'interrogation de base de données pour retourner une erreur et donner l'injecteur certaines informations à la fois la base de données et de l'information au sein de elle . Elle peut être réalisée à partir de n'importe quelle page Web qui agit comme un portail vers une base précaire et ne pas désinfecter ses requêtes. Instructions 1 Assurez-vous de spécifier le type d' entrée requis lors de l'écriture de votre code de requête SQL. La plupart des environnements de développement vous permettent de spécifier "string" , "entier " ou "date" . Par exemple , l'URL http://mysite.com/listauthordetails.aspx?user_id=1234 est interprétée par la base de données prenom SELECT, nom_famille DE utilisateurs WHERE user_id = '1234 ' Cette requête peut être réécrite pour Dim ID comme String = Request.QueryString ( "ID" ) de cmd As New SqlCommand ( " SELECT user_id FROM utilisateurs WHERE user_id = @ user_id " ) param Dim = new SqlParameter ( " user_id " , SqlDbType.VarChar ) param.Value = ID cmd. Parameters.Add ( param) Ce code empêche des informations supplémentaires soient ajoutés à la fin de la requête SQL , et ne laisse passer que le résultat de la demande user_id . 2 Utilisez l' fichier . htaccess pour bloquer les demandes illégitimes avant qu'elles ne soient transmises à la base de données , en utilisant le RewriteCond () de commande . Par exemple, pour bloquer un script en essayant de modifier une variable de demande, soit utiliser la ligne " RewriteCond% { QUERY_STRING } _REQUEST ( =
|