La procédure sp_executesql du serveur SQL stockée exécute des instructions SQL dynamiques que vous créez dans une application. Injection SQL est un hack qui permet aux utilisateurs d'accéder à votre base de données SQL. Utilisez les procédures stockées sp_executesql avec la fonction "Remplacer" pour remplacer le caractère d' apostrophe , qui est utilisé pour exécuter du code malveillant sur votre serveur. Instructions
1
Cliquez sur le bouton "Démarrer " et sélectionner " Tous les programmes ». Cliquez sur « SQL Server », puis cliquez sur « SQL Server Management Studio" pour ouvrir le logiciel .
2
Tapez votre nom d'utilisateur et mot de passe dans le serveur SQL écran de connexion pour accéder aux bases de données du serveur. Cliquez sur une base de données que vous souhaitez interroger et sélectionner " Nouvelle requête " pour ouvrir l'éditeur .
3
Créer une requête SQL dynamique . Le code suivant crée une requête dynamique qui contient des guillemets dans l'instruction :
declare @ requête en tant que nvarchar (500) set @ query = " SELECT nom des clients où signupdate ='' 1/1/2011 '' ' Photos
dans cet exemple, un pirate pourrait insérer des citations dans la clause «where» , ce qui provoque des erreurs dans votre requête SQL.
4
Utilisez la procédure stockée sp_executesql avec la fonction Replace pour éviter toute injection SQL. Tapez le code suivant dans l'éditeur:
Remplacer sp_executesql ( @ query , '\\'' , '''' )
Le code remplace chaque apostrophe avec un guillemet , ce qui élimine le possibilité d' injection SQL.
5
Appuyez sur la touche F5 pour exécuter l'instruction . Le SQL s'exécute et les résultats de la requête d'affichage dans le panneau des résultats .