Newsgroup: it.comp.software.database
Titolo: utenti in MySQL 2

sempre sugli utenti in MySQL, volevo chiedere una cosa. poiche io "provengo"
da Access, e quindi non ho mai avuto a che fare con gli utenti, volevo
chiedere: la creazione degli utenti è davvero assolutamente necessaria, se
si vuole realizzare con MySQL un'applicazione web?
mi spiego: io avevo pensato di creare una tabella in cui mettere le user_id
e le password (criptate). quando un titolare di user_id entra, accede, è
compito del software ASP consentirgli di modificare solo i record che gli
"appartengono". quindi in pratica non vedo l'utilità del settaggio di utenti
e privilegi.
credo quindi che eccessive complicazioni relativi a utenti e permessi siano
inutili, se i dati del DB sono destinati ad essere modificati da un numero
imprecisato di titolari di user_id via internet... o mi sbaglio? diciamo che
gli utenti vanno "creati" se il DB va modificato da un numero piu o meno
definito di soggetti.
voi che ne dite? a che rischi vado incontro se non creo gli utenti, e
impedisco "via software" di modificare record "altrui" ?
grazie.
Mario

 a che rischi vado incontro se non creo gli utenti,
Metti Mysql fuori dalla root di IIS
(ovvero NON dentro
C:\Inetpub\wwwroot )
Ciao
  Stefano
P.S: concordo pienamente con Frolix sull'utilita' del tool che ti ha
consigliato.

definito di soggetti.
In parte hai ragione, comunque il mio consiglio č:
Per ogni database crea due utenti. Il primo č quello che ha il massimo di
privilegi e lo utilizzerai per modificare la struttura, cancellare tabelle
etc. Il secondo utente č quello che usi per accedere al db via ASP e gli
restringerai i permessi alle cose necessarie. Poi tutti gli utenti web
verranno verificati dalla tua applicazione ed accederanno al db passando da
ASP che usa il secondo utente creato. In questo modo sei piů tranquillo che
nessuno possa sfruttare bachi o programmazione sbagliata lato web per fare
grossi danni. Infine, creare gli utenti ti serve per poter accedere al
database da remoto, o via telnet o con un client che in ogni caso si
dovranno autenticare, altrimenti ci arriva tutto il mondo.
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

 restringerai i permessi alle cose necessarie.
penso che farò così... in ogni caso l'autenticazione degli utenti dovrà
sempre confrontare un userid e un password presenti in una tabella del DB,
giusto? e la password dovrà sempre essere criptata per far sì che
l'amministratore del sito non possa vederla (o quantomeno non con troppa
facilità). giusto?
Mario

 facilità). giusto?
Sarebbe meglio di si, ma dipende dai gusti. Se uno ha accesso completo 
al database (Database administrator o magari anche il sistemista del 
server) può fare più o meno tutto,quindi la password criptata non lo 
ferma molto.
Ciao.
-- 
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
--------------------

> a che rischi vado incontro se non creo gli utenti,
che una falla probabilissima del tuo codice ASP permetta di bypassare mesi 
di studio sulla sicurezza degli sviluppatori del db...
fate vobis!


ecco, questo mi interessa... che genere di bug ci puo essere nel codice ASP
per l'autenticazione quali sono gli errori piu comuni?
grazie.
Mario

 ASP per l'autenticazione quali sono gli errori piu comuni?
es: tu usi
SQLQuery = "SELECR Username FROM Users WHERE Username= '" &
    	strUsername & "' AND Password = '" & strPassword & "'"
strAuthCheck = GetQueryResult (SQLQuery)
If strAuthCheck = "" Then
    	...non autenticato
Else
    	...autenticato
End IF
ma se come login l'utente mette: ' OR ''='
e come pwd: ' OR ''='
ti trovi
SELECT Username FROM Users WHERE Username = '' OR ''=''
AND Passwd = '' OR ''=''
e ti autentica comunque.
Occhio, quindi a quello che si può e non si può fare!!
(il PHP da questo punto di vista è + sicuro.)
quindi controlla la formattazione degli input, ecc...
Pensa cosa accade se uno ci mette: '; DROP DATABASE PIPPO;#
se ha i diritti probabilmente lo fa!!
ciao