2010-06-08 21 views
33

E 'possibile visualizzare in qualche modo un altro sito Web file/codici php?È possibile visualizzare il codice PHP di un sito Web?

Oppure per riformulare la domanda, i miei codici php possono essere visualizzati da chiunque tranne per coloro che hanno accesso al file?

Se è così, come posso evitare al meglio questo?

Ps: OS Server è Ubuntu 9.10 e la versione PHP è 5+ (Apache2)

risposta

40

Un bug o vulnerabilità nel server (Apache o il motore PHP), o il vostro codice PHP proprio, potrebbe consentire ad un attaccante per ottenere l'accesso al tuo codice.

Ad esempio se si dispone di uno script PHP per consentire alle persone di scaricare file e un utente malintenzionato può ingannare questo script per scaricare alcuni dei file PHP, quindi il codice può essere trapelato.

Dal momento che è impossibile eliminare tutti i bug dal software che si sta utilizzando, se qualcuno realmente vuole rubare il codice e dispone di risorse sufficienti, c'è una ragionevole possibilità che siano in grado di farlo.

Tuttavia, finché si mantiene aggiornato il server, qualcuno con un interesse casuale non è in grado di vedere l'origine PHP a meno che non vi siano evidenti vulnerabilità di sicurezza nel codice.

Leggere il Security section of the PHP manual come punto di partenza per mantenere il codice sicuro.

0

Nessun utente può leggere il file tranne quelli che hanno accesso al file. È necessario rendere il codice leggibile (ma non scrivibile) dal server Web. Se il gestore del codice php funziona correttamente, non puoi leggerlo richiedendolo per nome dal server web.

Se qualcuno compromette il server, si è a rischio. Assicurarsi che il server Web possa scrivere solo nelle posizioni di cui ha assolutamente bisogno. Ci sono alcune posizioni in/var che dovrebbero essere correttamente configurate dalla tua distribuzione. Non dovrebbero essere accessibili tramite il web./var/www non dovrebbe essere scrivibile, ma potrebbe contenere sottodirectory scritte dal server Web per il contenuto dinamico. I gestori di codice dovrebbero essere disabilitati per questi.

Assicurati di non fare nulla nel tuo codice php che può portare all'iniezione del codice. L'altro rischio è l'attraversamento di directory usando percorsi che contengono .. o che iniziano con /. Apache dovrebbe già essere corretto per impedirlo quando gestisce i percorsi. Tuttavia, quando esegue codice, incluso php, non controlla i percorsi. Evita tutto ciò che consente al client Web di passare un percorso di file.

1

Utilizzando exploit o su server mal configurati, è possibile scaricare la sorgente PHP. Puoi comunque offuscare e/o crittografare il tuo codice (usando Zend Guard, Ioncube o un'app simile) se vuoi assicurarti che la tua fonte non sia leggibile (per essere precisi, l'offuscamento di per sé potrebbe essere annullato con un tempo e risorse sufficienti , ma non ho ancora trovato un decryptor IonCube o Zend Guard ...).

Problemi correlati