Newsgroup: it.comp.www.php
Titolo: utile a tutti: proteggere il file con i logins del db

Come indicato in oggetto sono certo che il quesito sia di interesse 
generale.
Secondo voi quali sono le soluzioni migliori per proteggere il file .php con 
i logins al dbase? Voi come fate?
E se ho un pannello(costituito da 2 file php) tutto mio da dove inserisco 
notizie e altro a parte il non lasciare queste pagine sul server che 
soluzioni ci sarebbero per renderle inaccessibili?
Ho sentito parlare di htaccess ma č vincolato a Linux o sbaglio? E' l'unica 
soluzione?
ciao e grazie.

Dimenticavo, a proposito di MD5..
se io lo uso per nascondere la mia password di accesso al db, un 
malintenzionato non può riuscire ad intercettare il momento in cui viene 
decodificata e trasmessa al server?
ri-grazie 

 ciao e grazie.

i logins al dbase? Voi come fate?
Creo un file con nome pseudo-casuale, con dentro le password in chiaro,
fuori dal document tree.
Le circostanze che consentirebbero ad un ipotetico Tizio di leggersi le
password e connettersi al DB, sono le stesse che gli consentirebbero di
connettersi al DB anche senza avere la password.
Per esempio, le password le tengo in chiaro. Potrei criptarle. Pero' il
PHP al database si deve connettere, e quindi deve leggersi quelle pass,
DECRIPTARLE e usarle. Se uno ha accesso al codice PHP, gli ci vuole due
secondi per decriptare le password.
In alternativa, se l'accesso lo fai solo tu puoi farti chiedere la pass
ogni volta; il PHP la terra' solo in memoria (e nel file di sessione!),
sicche' a meno di avere accesso al disco o alla rete, un attaccante non
puo' fare molto... e se ha quell'accesso, della password gli importa in
modo molto relativo.
Un modo un po' aggrovigliato se hai utenti autenticati _e_ almeno *DUE*
utenze per il database e' questo:
	- ti crei un utente guest, con diritto di sola lettura, solo su
	  una tabella "user_login".
	- Qui c'e' solo l'utente e la pass in MD5, e un campo extra che
	  contiene la password dell'utente "user" del database, cifrata
	  con cifratura simmetrica. La chiave e' la pw utente.
Un anonimo compare, fornisce user e password, e il sistema verifica che
MD5(user) e MD5(password) esistano nell'elenco. Se li trova, allora usa
la pw utente per decrittare la pw di "user", chiude la connessione come
"guest" e diventa "user" (che ha i diritti di lettura sulle tabelle del
resto del database, scrittura dove deve, e nient'altro).
Certo, se uno accede al disco e sovverte il codice PHP, il primo che si
logga fornisce i dati per sblindare tutto l'altarino... e, se mai cambi
la password di "user", sei morto, perche' non hai modo di aggiornare il
database degli utenti (non puoi fare SymCrypt($newpassword, $userpass),
dato che non hai $userpass ma solo il suo MD5).
Leonardo
-- 
Dawn is near, the time is short (Human aircraft! Hard to port!)
We eight reindeers of the night work as one in silent flight.
Let not one damn house pass by (Who taught that guy how to fly?)
Each year sees more girls and boys: how many of them can we bring toys?

Non capisco cosa intendi per "proteggere" i file.
intendo che ho due files che rappresentano un vero e proprio mini-pannello 
di gestione, in uno c'e' un form da dove inserisco i contenuti del sito e 
nell'altro file c'e' lo script che riceve i valori e li passa al dbase.
Nonostante il primo file l'ho settato in modo da chiedere una password prima 
di inserire i contenuti, mi e vi chiedo: è prudente lasciare questi files su 
server per comodità?
Essendo autonomi dal resto dei files del sito potrei caricare questi due 
files ogni volta sul server, accedervi per inserire i contenuti e le news 
del sito e dopo cancellare i suddetti files.
Ciao e grazie. 

 Leonardo
esauriente come sempre.
Grazie. ;--)