Newsgroup: it.comp.www.php
Titolo: [Newbie] Proteggere file sul server

Ho cominciato da pochissimo a studiare php e ho una strana curiosità a cui
non ho ancora trovato risposta: se io utilizzo dei file .php da includere in
una pagina principale posso evitare che qualcuno possa visualizzare il solo
contenuto di questi file (fosse pure solo il semplice output html)
digitandone l'url completo? E i motori di ricerca come si comportano con
questi file?
TIA
Valentina
--
L'amore è quando la mamma da al papà il pezzo più buono del pollo. (Elena, 5
anni)
http://digilander.libero.it/valefatina

 questi file?
se hai la possibilita' di farlo, metti gli include al di fuori della 
document root del webserver, e includili specificando il percorso 
completo (del server). in questo modo non sono visibili in nessun modo, 
se non quando inclusi da un file presente all'interno della document root.
-- 
Fox Mulder
...the truth is out there

 completo (del server)
...se invece non hai possibilità di farlo potresti arrangiarti in due modi:
1) proteggi le cartelle con i file .htaccess (i file restano leggibili dal
php ma dall'esterno serve l'autenticazione)
2) [sconsigliato] nel file che gestisce tutti i template setti una variabile
all'inizio e in ogni file che viene incluso fai un controllo: se questa
variabile non è come deve essere fai un bell'exit.
I motori di ricerca se non recuperano l'url dai link sul sito non sanno
dell'esistenza di quei file
LAMASE

Io farei cosě: nel file da includere controlli se l'indirizzo digitato č
uguale al nome del file + percorso ($PHP_SELF). Se sono uguali, cioč se
qualcuno ha richiesto direttamente il file, stampi un messaggio di accesso
non autorizzato, fai un exit(), invii un header di errore HTTP, vedi un pň.

 sanno dell'esistenza di quei file
:) buono a sapersi. (Beata ignoranza -___-)
Grazie mille per le informazioni e la gentilezza :)


 di errore HTTP, vedi un pò.
Ehmmm... ad averci capito qualcosa perchè no :D
Considera che veramente ne so pochissimo di php... Forse la soluzione
migliore (o meglio l'unica che sono certa di riuscire a mettere in atto) è
quella suggerita da Lamase, ma mi piacerebbe capire meglio come si può fare
ciò che mi suggerisci... hai per caso qualche link con un esempio?
Grazie :)


Dunque: per richiamare il file che tu includi, l'utente deve digitarne
l'indirizzo. All'interno del file, tu metti un IF che controlla se
l'indirizzo che l'utente ha digitato corrisponde al percorso+nome del file.
Se corrisponde, puoi fare un exit() ed interrompere l'esecuzione dello
script. Se non corrisponde, l'esecuzione prosegue.
ESEMPIO:
Il file include.inc.php viene incluso nelle tue pagine. Se qualcuno lo
richiede direttamente, non viene eseguito. Se incluso in un altro script,
funziona.
Eccoti il codice, dovrebbe funzionare.
$filepath=$_SERVER["REQUEST_URI"].$_SERVER["HTTP_HOST"];
if ($_SERVER["REQUEST_URI"]=$PHP_SELF) {exit();}

Scusa, errore. Ecco quello giusto:
$filepath=$_SERVER["REQUEST_URI"].$_SERVER["HTTP_HOST"];
if ($file_path=$PHP_SELF) {exit();}

Sò troppo stanco, scusami:
 $filepath=$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
if ($file_path=$PHP_SELF) {exit();}
E speriamo che funga...

 posso metterla in atto nel mio spazio su Aruba?
Solo se il tuo sito risiede su server Unix; se su Windows no.
Ciao

 Solo se il tuo sito risiede su server Unix; se su Windows no.
Ottimo :)
Grazie per l'informazione.


Riassunto della puntata precedente:
Message-ID:news:q%Rb9.32805$
ub2.5...@news1.tin.it
Mittente: Gabrieledj (
gabri...@libero.it
)

Provo e ti faccio sapere... grazie mille :)


 php ma dall'esterno serve l'autenticazione)
questo presuppone l'utilizzo di apache come web server, pero'...
