Newsgroup: it.comp.www.php
Titolo: includere file e sicurezza

 
          Ciao
studio php da un po' e il testo che utilizzo consiglia di non inserire le
informazioni sulle connessioni al DB nei files PHP ma di includerle in
file.inc mediante include,require,include_once e require_once....
inoltre specifica che tali file andrebbero inseriti in cartelle che non
siano la root principale del server Web, quindi o directory superiori o
centrali
seguono i 2 es. (se sbagliato correggetemi grazie)
c: / serverWeb / WWWroot / include / file.inc -> incluso in cartella
centrale
c: / serverWeb / include / file.inc -> in tal caso il file è esterno alla
dir Root
un'ultima domanda
per evitare che un utente acceda ad una pagina PHP ma non direttamente alla
cartella del sito dove risiede la pagina,quali starde si possono seguire?
Ho letto del file .htaccess
ma ho notato che eseguendo uno script PHP che puntava ad un'altra pagina
contenuta
nella cartella dove risiedeva tale file, quest'ultimo rendeva inaccessibile
lo script....
grazie!
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 starde si possono seguire?  
Sotto apache utilizza .htaccess per disabilitare l'indexing.
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 file.inc mediante include,require,include_once e require_once....
che testo utilizzi?

Ciao
mi spiegheresti meglio questo codice?
se ho capito bene...
is_resource controlla che sia stata effettuata una connessione, quindi
presuppone l'invio dei dati alla funzione
la seconda clausola verifica la selezione del DB
il primo return restituisce la risorsa
il secondo return in caso sia falso  il costrutto IF restituisce false
grazie
"iuz" <us...@host.network> ha scritto nel messaggio
news:CbOrd.448276$35.19...@news4.tin.it...
Quindi è meglio [non testato]..
function connetti($_host, $_user, $_pass, $_dbname){
 if(is_resource($rh = @mysql_connect($_host, $_user, $_pass)
    AND mysql_select_db($_dbname)
   )
    return $rh;
 return FALSE;
}
--
www.iuz-lab.info

 centrali
Superiore capisco, "centrale" non riesco a dargli un senso!
In ogni caso, se tu hai il file db.php che contiene:
<?
mysql_connect('host', 'user', 'pass');
mysql_select_db('mydb');
?>
anche se digiti sul browser l'indirizzo del file quello che vedrai è:
<html><body></body></html>
e una connessione "sprecata" al DB!
Quindi è meglio:
<?
function connetti() {
    mysql_connect('host', 'user', 'pass');
    mysql_select_db('mydb');
}
?>
così, se proprio qualcuno si diverte a chiamare direttamente il file,
non sprechi manco una connessione! :-)
Ciao!
--ev

 --ev
Quindi è meglio [non testato]..


 ha scritto nel messaggio
news:eu2ooc...@192.168.2.100...


 }
<premessa>
Qui stiamo andando in "paranoia da sprechi", ma credo che comunque la
discussione sia interessante!
</premessa>
Come la scrivi tu, ossia con una funzione di connessione parametrica,
questi benedetti parametri da qualche parte devono pure arrivare ... Se
richiami il tutto da ogni pagina che si connette al DB hai perso la
comodità di creare una funzione, visto che appena ti devi connettere con
un altro utente devi reimpostare chissà quante pagine!
Se invece ti prendi i dati da, ad esempio, un inclusione, hai sempre
dello "spreco", per quanto minimo! :-)
La funzione che avevo scritto sopra mi _sembra_ migliore visto che,
richiamando direttamente il file, non viene mandata in esecuzione e il
sistema, oltre a parsare il file, non deve fare nient'altro!
Siamo "1 ciclo di clock a zero per me"! ;-)
Anzi, ti concedo il pareggio visto che la tua è più "precisa" della mia
a livello di controlli! (personalmente non mi piace, preferisco sempre
gestirmi gli errori a mano! Una funzione come la tua semplicemente "non
connette" e ti costringe a cercare l'errore, mentre una gestione con, ad
esempio, mysql_error() ti dice già qualcosa in più! Tutto, ovviamente,
IMHO!)
Ciao!
--ev