Domanda

  1. Ho usato il numero di query con parametri volte So che aiuta a prevenire SQL injection. Ma, mi chiedevo se posso sapere che cosa sta lavorando logica di base all'interno di una query con parametri all'iniezione Prevenire SQL può essere che è molto semplice, ma non so su di esso. Ho provato a cercare Google Che cosa sono la base di esso, ma ogni volta ho trovato un esempio che come utilizzare query con parametri in Asp.net.
  2. So di fare una classe speciale che ferma i caratteri speciali come (', - ecc) che vengono utilizzati in SQL injection, ma non fermandosi solo caratteri speciali totalmente prevenire SQL injection
  3. ?
  4. E un'ultima cosa fa .net con parametri di query può fermare completamente SQL injection?
È stato utile?

Soluzione

Credo che le query parametrizzate non dipendono supporto di database query preparate. autista database stesso passaggio di valori il modo sicuro, e come si fa dipende dal driver stesso.

Il manuale di PostgreSQL spiega basi di query parametrizzate su base di dati livello.

D'altra parte, parametrizzata query semplifica si passa dati sensibili locale. Ad esempio, l'utente immette 100,00 decimale, ma il server si aspetta 100,00 valore.

Altri suggerimenti

In ogni motore di database Lo so, l'utilizzo di "preparato" (alias "parametrizzata", o "statica") interroga impedisce SQL injection. Non è necessario filtrare i caratteri se sono vengono passati ai parametri. Se mai scrive SQL che viene concatenato insieme nel codice, piuttosto che preparato con i parametri, si sono probabilmente a rischio di SQL injection. Si dovrebbe manuale di sicurezza per il database che si sta utilizzando, sarà molto probabile avere una sezione su SQL injection, ma appena letto tutto. Scommetto che ci vorrà meno di un'ora e vi darà istruzioni solida e la fiducia che si sta seguendo le pratiche migliori che si applicano al database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top