none
sql injection - tecnica prevenzione RRS feed

  • Domanda

  • ciao,
    come da oggetto avrei bisogno di un vostro parere in merito. ho letto un paio di articoli, ma nessuno che menzionasse ciò che ho intenzione di fare nel mio programma.
    supponiamo di avere per ogni ricerca che l'utente eseguirà "n" textBox, ora la mia domanda è:
    sarei al sicuro facendo in modo che le text box accettino come input solo caratteri aAzZ0..9?
    quindi niente spazi, niente asterischi, niente parentesi tonde e così via..?

    grazie
    martedì 9 febbraio 2010 12:10

Risposte

  • come da oggetto avrei bisogno di un vostro parere in merito. ho letto un paio di articoli, ma nessuno che menzionasse ciò che ho intenzione di fare nel mio programma.
    supponiamo di avere per ogni ricerca che l'utente eseguirà "n" textBox, ora la mia domanda è:
    sarei al sicuro facendo in modo che le text box accettino come input solo caratteri aAzZ0..9?
    quindi niente spazi, niente asterischi, niente parentesi tonde e così via..?
    Un controllo sui caratteri digitabili nelle text box (occhio al cut&paste!!) è sicuramente utile ma non sufficiente per mettersi al riparo da attacchi di SQL Injection.
    Il suggerimento principe è quello di NON UTILIZZARE il dynamic SQL (comandi SQL costruiti dinamicamente concatenando stringhe) e di interfacciarsi al DBMS utilizzando viste, stored procedures e UDF, negando l'accesso alle tabelle e fornendo i permessi minimi necessari al resto.
    In questo articolo di Ale troverai spunti interessanti.

    Ciao!
    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.microsoft.com/Forums/it-IT/sqlserverit
    • Contrassegnato come risposta Anca Popa venerdì 3 dicembre 2010 08:47
    martedì 9 febbraio 2010 13:04
    Moderatore

Tutte le risposte

  • come da oggetto avrei bisogno di un vostro parere in merito. ho letto un paio di articoli, ma nessuno che menzionasse ciò che ho intenzione di fare nel mio programma.
    supponiamo di avere per ogni ricerca che l'utente eseguirà "n" textBox, ora la mia domanda è:
    sarei al sicuro facendo in modo che le text box accettino come input solo caratteri aAzZ0..9?
    quindi niente spazi, niente asterischi, niente parentesi tonde e così via..?
    Un controllo sui caratteri digitabili nelle text box (occhio al cut&paste!!) è sicuramente utile ma non sufficiente per mettersi al riparo da attacchi di SQL Injection.
    Il suggerimento principe è quello di NON UTILIZZARE il dynamic SQL (comandi SQL costruiti dinamicamente concatenando stringhe) e di interfacciarsi al DBMS utilizzando viste, stored procedures e UDF, negando l'accesso alle tabelle e fornendo i permessi minimi necessari al resto.
    In questo articolo di Ale troverai spunti interessanti.

    Ciao!
    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.microsoft.com/Forums/it-IT/sqlserverit
    • Contrassegnato come risposta Anca Popa venerdì 3 dicembre 2010 08:47
    martedì 9 febbraio 2010 13:04
    Moderatore
  • grazie mille per l'ottimo suggerimento..
    martedì 9 febbraio 2010 19:36