Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Verifica Password con select su db Access
venerdì 10 novembre 2006 - 11.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
ven 10 nov 2006 - 11:41
ciao a tutti
sto facendo vari test e mi son reso conto che se nella login del mio programma
che contiente una select sulla tabella utenti per vedere se esistono o mone
se metto la stringa " a'or'A'='A mi apre cmq anche se nn e un utente valido
perche questo???
come posso intervenire???
un collega mi ha fatto notare che questo e una stringa che sia access che sql vedono come valida all'interno di una select con paramentro
thanks
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
sab 11 nov 2006 - 12:31
>perche questo???
>come posso intervenire???
>un collega mi ha fatto notare che questo e una stringa che sia
>access che sql vedono come valida all'interno di una select con
>paramentro
Questo è un problema di security e si chiama SQL Injection. Se tu nel codice spari delle query di questo tipo senza verificare l'Input:
"SELECT * FROM UTENTI WHERE Username='" + username + "' AND PASSWORD='" + password + "'"
può succedere che uno digiti quella stringa che ti ha dato il tuo collega od altre stringhe e possa entrare anche se l'utente non esiste, oppure cancellarti pezzi di database o tabelle, ecc.ecc. questo perchè tu non verifichi l'input e quindi username e password possono assumere valori diversi e modificarti la query.
Le tecniche sono varie, prima di tutto bisogna controllare l'input, magari sia client side (via javscript) che server side (con il codice .NET). Poi è buona cosa usare Query parametriche (facendo uso di OleDbParameter e SqlParameter), infine se il database te lo permette (es. se usi SQL Server) è buona cosa fare uso di Stored Procedure anch'esse parametriche.
Se vuoi documentart meglio cerca SQL Injection su Google.
Queste tecniche rendono il tuo codice più sicuro.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
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 !