Come utilizzare sp_executesql per la lotta contro SQL Injections

June 20

stored procedure Il server SQL sp_executesql esegue le istruzioni SQL dinamiche create in un'applicazione. SQL injection è un hack che permette agli utenti di accedere al database SQL. Utilizzare le procedure sp_executesql memorizzati con la funzione "Sostituisci" per sostituire il carattere preventivo singolo, che viene utilizzato per eseguire codice dannoso sul server.

istruzione

1 Fare clic sul pulsante di Windows "Start" e selezionare "Tutti i programmi". Fai clic su "SQL Server", quindi fare clic su "SQL Server Management Studio" per aprire il software.

2 Digitare il nome utente e la password nella schermata di log-in del server SQL per accedere ai database del server. Fare clic su un database che si desidera eseguire una query e selezionare "Nuova query" per aprire l'editor.

3 Creare una query SQL dinamico. Il codice seguente crea una query dinamica che contiene le citazioni all'interno del comunicato:

dichiarare @query come nvarchar (500)
set @query = 'selezionare il nome da clienti dove signupdate =' '1/1/2011' ''

In questo esempio, un hacker potrebbe inserire citazioni nella clausola "where", che fa sì che gli errori nella query SQL.

4 Utilizzare la procedura sp_executesql memorizzato con la funzione Sostituisci per evitare SQL injection. Digitare il seguente codice nell'editor:

sp_executesql Sostituire (@query, '\' ',' '' ')

Il codice sostituisce ogni singola citazione con una doppia citazione, che elimina la possibilità di SQL injection.

5 Premere il tasto F5 per eseguire l'istruzione. Il SQL esegue ed i risultati del display query nel pannello dei risultati.