Newsgroup: it.comp.www.php
Titolo: php e password

Ciao a tutti,
sono alle prime esperienze ed avrei bisogno di un consiglio dai più esperti.
Su un server su cui gira windows 2000 server
ho installato apache2.2 , php 5 e mysql.
Dopo aver configurato tutto , ho poi creato un semplice sito in cui tramite 
una pagina di login
accedo alla visualizzazione di una tabella.
Una cosa molto semplice che mi è servita per fare un po' di esperienza e 
capire il funzionamento del tutto.
Attualmente il nome utente e la password sono fissi e memorizzati nel codice 
dello script php ed immagino che questa non sia la soluzione più sicura
Qualè il sistema, la tecnica migliore per aumentare la sicurezza delle 
password ?
Ciao e grazie
Beppe

 delle password ?
E` il metodo piu` sicuro se non hai accesso alla config del webserver.
Se ce l'hai, puoi mettere le password in un file al di fuori del path 
"pubblico". Per esempio, se hai
/home/tu/
www.example.com/index.php
e il VirtualHost punta a /home/tu/
www.example.com
 puoi mettere un file in 
/home/tu/password.txt, cosi` anche se si "sconfigura" il webserver o 
succede qualche casino, dall'esterno non saranno leggibili.
Bye.

 Bye.
PS: ha detto di essere sotto Windows.
Enrico

 PS: ha detto di essere sotto Windows.
Non fa differenza. Se usa IIS magari i VirtualHost si chiamano in qualche 
altro modo, ma il concetto e` lo stesso.
Se usa Apache, si chiamano VirtualHost. :)
Bye.

 Non si possono memorizzare le password di accesso al DB cosi`.
IMHO è quello che si fa nel 90% dei casi, poiché a te non interessa
sapere la password in genere, ma solo se è quella, ergo
$hashDalDb === funzioneHash($passwordDaInput)
Tolte le rainbow tables e le collisioni (scegliendo algoritmi
"complicati", tipo NON md5), è una cosa abbastanza robusta, almeno IMHO.
Enrico

 chiaro ...
Stai parlando delle password di eventuali utenti che devono accedere al 
sito.
Io e l'OP stiamo parlando della password di accesso a MySQL, quella che 
usi in mysql_connect().
Quella non la puoi hashare, altrimenti non la recuperi piu`.
Bye.

Grazie a tutti per le risposte,
devo dire la verità , mi avete un po' confuso.
Quello che devo fare in parole povere è:
1) l'utente che accede al sito può solo consultare il contenuto di una 
tabella tramite una pagina predefinita che non fa altro che mostrare i vari 
record in una tabella.
Solo gli autorizzati possono inserire , modificare e cancellare un record.
Per fare questo accedono ad una pagina protetta da password (che non è 
quella di accesso al database).
Questo nome utente e password , che sono predefiniti, li ho inseriti nel 
file php che gestisce l'accesso.
Per quanto riguarda la password di connessione al data base sono nel 
classico file config.php che raccoglie tutti
tutti i parametri per fare la connessione al database mysql.
Sinceramente, sono alle prime armi ( invidio le vostre competenze) , ma non 
ho capito se questo è un metodo sicuro o se
esiste qualcosa di più "robusto"...
Grazie di nuovo.
Beppe 

 file php che gestisce l'accesso.
OK, questa password la puoi hashare con md5() o sha1(), e scrivere l'hash 
nel file php.
Quando l'utente fa login, fai md5() o sha1() di quello che ha inserito e 
lo confronti con quello che hai salvato. Se sono uguali ha inserito la 
password corretta (o una sua collisione, ma e` un caso raro), altrimenti 
no.
Rimane valido che se puoi farlo dovresti mettere anche questa password 
fuori dallo spazio pubblico presentato dal webserver, per aumentare la 
sicurezza.
In ogni caso, se qualcuno arriva a leggere il sorgente dei tuoi script PHP 
vuol dire che ti ha sfondato il server, e puo` trovare anche falle piu` 
ampie e sfruttabili della password in chiaro.
Bye.

Beppe ha scritto:

Scrivi tutto sul database, la password inputata la fai passare tramite 
md5() oppure sha1() e così la memorizzi.
in pratica poi hai, in fase di verifica:
$password_hashata_db = funzione_di_hashing($password_in_input);
se questo si avvera, bene, altrimenti ciccia.
Io faccio sempre così e mi piace il non conoscere le password degli 
utenti... diciamo che mi piace il concetto "non poteva sapere...."
ciao
massimiliano