Contenuto pericoloso

giovedì 18 dicembre 2008 - 11.11

lordwaizard Profilo | Senior Member

Ho una domanda banale da porvi.
Mettiamo il caso che una persona debba inserire il suo nome, tramite una textbox, in un db mssql.
Ovviamente sappiamo tutti che se uno inserisce l'apice si tronca l'operazione.
Questo avviene anche con altri simboli < > [....

Esiste un camando, o un modo per ripulire la stringa prima di inserirla considerando tutti i caratteri "operativi".
In alternativa lo posso fare con la funzione replace, ma dove trovo una tabella con tutti i caratteri che vengono interpretati come comando da mssql?

Grazie in anticipo
Davide Fiorani

rossimarko Profilo | Guru

Ciao,

tu concatenando i parametri per creare la stringa sql di aggiornamento?

Esempio: "UPDATE Tabella SET Campo = " + strCampo + "WHERE ID = " + strID

Prova a guardare questo articolo http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx

Ci sono alcuni esempi di come si crea una stringa sql con un commandtext utilizzando i parametri invece che concatenare le stringhe.

Altra cosa da fare poi è una validazione del dato. Nel campo username ad esempio sarebbe importante non far inserire caratteri speciali, questo lo puoi controllare prima dell'inserimento come logica di validazione

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

lordwaizard Profilo | Senior Member

Dove trovo la tabella dei "caratteri speciali"?

rossimarko Profilo | Guru

Prova a guardare se questo può esserti utile: http://msdn.microsoft.com/en-us/library/aa226544(SQL.80).aspx
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5