Newsgroup: it.comp.www.php
Titolo: sicurezza e db

Ciao a tutti,
sento parlare spesso di sicurezza di criptare ecc...
La mia domanda č questa:
Io ho una DB al quale accedo come segue, č un codice sicuro? Oppure sbatto i
miei dati ai piů esperti?
<?php
$db_host= "localhost";
$db_login= "nome_login";
$db_pass= "password";
$database= "nome_database";
$link=@mysql_connect("$db_host","$db_login","$db_pass");
if(!$link){
 header ($Location."error.php3?errore=connect");
 exit();
}
if(!@mysql_select_db ($database,$link)){
 header ($Location."error.php3?errore=connect");
 mysql_close($link);
 exit();
}
//....
?>
GRAZIE

 sbatto i miei dati ai più esperti?
Dipende in gran parte dall'impostazione del server.
Innanzitutto io metto i dati di accesso in un file a parte, tipo
"accessodb.php" e lo includo in tutti i file che accedono al db, in modo
da cambiarli velocemente se e` necessario.
Poi, se il server non blocca i cross-site scripting, chiunque possa
mettere uno script in quel server potra` anche leggere i tuoi file,
quindi le password.
In pratica bisognerebbe impedire che un'utente che ha accesso a
/var/www/suosito possa risalire fino a /var/www per poi ridiscendere
verso /var/www/tuosito e leggerti i file.
Bye.

 Bye.
Grazie e ciao

 te non ci sono questi problemi
widestore sembra una societą seria... non dovresti avere di questi
problemi... al limite se dovesse succedere qualcosa metti in mezzo un
avvocato e te ne lavi le mani ;)

 avvocato e te ne lavi le mani ;)
Ok, grazie

 Secondo te non ci sono questi problemi
Prova!
Fai uno script che legga / e ti dica cosa contiene. Se funziona prova a
leggere /var/www e vedi se riesci a leggere i file degli altri.
Oppure scrivigli e chiediglielo. :)
Bye.

 Bye.

 visitaro?
Si`, potrebbe tranquillamente accedere ai dati del DB anche senza PHP,
ma magari in C o in Python o con mysql o psql da casa.
Informa il tuo fornitore di questo problema.
Bye.

 Si riesce a vederne il contenuto e quindi password ecc...?
Se fai un file tipo
<?php
	$user = "utente";
	$password = "password";
?>
non lo possono vedere dall'esterno perche` viene interpretato dal server
prima di essere mandato al client.
Possono pero` vederlo col sistema di cui parlavamo all'inizio del thread
(cross-site scripting sullo stesso server). Cioe` il cracker deve avere
spazio sullo stesso server e il server deve essere configurato per
lasciarlo entrare nella tua directory.
Questo a meno che apache non sia mal configurato, ma a quel punto non
funzionerebbe nessuno script php... 
Bye.

 Bye.
Ciao e grazie

 aiuti a fare lo script che dicevi?
Pappa pronta, eh? :P
Lo trovi gia` fatto sul manuale di PHP:
http://www.php.net/manual/en/class.dir.php
Basta cambiare la prima riga e vedi il contenuto della directory che
vuoi.
Bye.

 vuoi.
GRAZIE

Grazie, l'ultima cosa poi non ti rompo più,
ho fatto delle prove...
ho usato il seguent path:
/usr/local/psa/home/vhosts/miosito/httpdocs
ed effettivamente mi visualizza i file presenti ecc...
già con:
/usr/local/psa/home/vhosts/miosito
mi dà questo un confortante errore:
open_basedir restriction in effect
La domanda è la directory va bene?
O posso usare qualcosa come dicevi, tipo:
/var/www/miosito ?

 La domanda è la directory va bene?
si.
Praticamente con quella funzionalità (interna al PHP) tu non puoi andare 
sotto (leggasi: vedere il contenuto o richiamare direttamente via 
/PATH/script/) la tua directory /usr/local/psa/home/vhosts/miosito/httpdocs
Ciao ciao.
-- 
Morelli Michel
ZioBudda.net Coordinator
mic...@ziobudda.net