su mysql 5 tu puoi assegnare il tipo di password che vuoi all'utente che ti pare.Originariamente inviato da xnavigator
allora piero io ho bisogno solo di un utente sul server che sia compatibile con php4, purtroppo non posso fare altrimenti perchè come ti ho scritto nell'altro post utilizzo un compilatore che da uno script in php mi crea l'exe e me lo crea utilizzando php4
io vorrei semplicemente sapere se converto una password utilizzando old_password se questa rimane funzionale anche sul server che utilizza la versione normale php&mysql5
Quindi se utente pippo1 con pwd pippa su php 4 andra' configurato su mysql.user con:
insert into mysql.user (o update...)
(host, user, password)
values
('localhost', 'pippo1', old_password('pippa')
ed avrai la pwd a 16 digit
Se invece devi configurare uno user su php 5 farai:
('localhost', 'pippo1', password('pippa')
e questa pwd sara' a 40 digit.
Non c'e nessuna incongruenza perche' di fatto non viene controllata la pwd come se fosse un tuo account ma in un modo ben differente. Vediamo se riesco a spiegarti brevemente la mimica tra client e server per l'autenticazione dello user:
il client invia una richiesta di autenticazione
il server risponde con una stringa random in scramble_buff
il client crypta il valore ricevuto usando la password digitata dallo user
il client spedisce la stringa criptata al server
il server cripta la stringa random originale inviata al server in scramble_buff usando il valore che trova nella tabella mysql.user
Se i valori sono identici la password e' corretta.
Ora e' facile intendere che se usi php4 il client mysql usa la funzione password('pippa') che genera una stringa di 16 digit che usa per criptare la stringa random ricevuta dal server.
Se invece usi php5 la funzione password('pippa') genera una stringa da 40 digit ed i risultati saranno assolutamente diversi.
Quello che conta e' che tu metta la corretta lunghezza della stringa criptata nella password del tuo user. Lo puoi fare con old_password('pippa') se l'utente arriva da php4 e/o con password('pippa') se arriva da php5.
Devi solo utilizzare due user diversi.....

Rispondi quotando