2012-11-17 18 views
8

La mia università ha più server che hanno gli stessi dati di mirroring tra loro, in modo che possa accedere per esempioDisattivazione download del file PHP se PHP non è installato

foo.uni.edu/file.php 
bar.uni.edu/file.php 

Il fatto è che non tutti i server hanno installato PHP , quindi chiunque potrebbe scaricare i miei file php se hanno effettuato la connessione tramite un server che non ha installato PHP. C'è un modo, possibilmente con .htaccess per evitare questo? Come in, consentire solo l'apertura di file PHP se il server PHP è installato?

+1

Potrebbe essere possibile utilizzare ''. – mario

+0

perché non limitare l'accesso a un singolo server (bilanciamento del carico)? – Kubee

risposta

1

Se è possibile memorizzare file al di fuori della radice del documento, è possibile aggirare il problema memorizzando tutti i dati riservati all'esterno di docroot. Avresti quindi i tuoi script accessibili pubblicamente utilizzare include per accedere a quei file.

Quindi, se si carica a /username/public_html e public_html è il vostro principale del documento (ad esempio, foo.uni.edu/file.php è /username/public_html/file.php), allora si dovrebbe caricare a /username/file.php invece e posizionare un altro script in /username/public_html che si limitano contiene qualcosa come include('../file.php');

Questo è una buona pratica in ogni caso, nel caso in cui un errore di configurazione sul server impedisca mai l'analisi di PHP.

Si potrebbe anche provare a utilizzare IfModule e FilesMatch per negare l'accesso ai file PHP se mod_php non è abilitato:

<IfModule !mod_php.c> 
    <FilesMatch "\.php$"> 
     Order Deny,Allow 
     Deny from All 
    </FilesMatch> 
</IfModule> 

Se questo non funziona, provare !mod_php5.c invece.

+0

Entrambi i mod danno l'errore di autorizzazione negato quando si tenta di accedere a un file php (nel server su cui è installato php) – vascoFG

+0

È possibile che i server stiano eseguendo un'installazione arcaica di PHP4? Se è così, prova '! Mod_php4.c'. Se anche questo non funziona, temo di essere perplesso. – Kelvin

Problemi correlati