2010-02-18 5 views
5

Immaginate la seguente file PHP:È possibile visualizzare contenuto PHP che non viene echeggiato?

<?php 
    $topSecret = "Something important"; 
?> 

Se metto questo su un server che esegue il programma di installazione lampada standard, come potrebbe qualcuno potrebbe scoprire $topSecret?

Se la variabile non viene emessa, è vulnerabile? Una vera applicazione di questo potrebbe essere le credenziali del database memorizzate nella web root di un server.

+1

È oggi giorno di sicurezza PHP? :) Una domanda molto simile è stata posta 15 minuti fa http://stackoverflow.com/questions/2287903/safest-place-to-store-php-values-for-msql-connect/2287909#2287909 e sto per chiedi anche a qualcuno nello stesso modo. Ah, SO e i suoi 100000 utenti ... –

+0

Sì, quella domanda mi ha spinto a chiedere questo. Ho pensato che sarebbe stato meglio creare una nuova domanda piuttosto che chiederne una in un thread di commenti. –

risposta

13

Se PHP dovesse fallire in qualche modo, la pagina verrebbe visualizzata come un file di testo. Questo è successo prima; è successo una volta a Facebook. Per proteggersi da questo, è necessario memorizzare tutte le variabili sensibili (password, ecc.) In un file php che non si trova nella web root. È possibile memorizzarlo nella cartella principale (se si ha accesso ad esso) o in una sottocartella protetta da apache (deny all).

6

In circostanze normali, non sarebbe possibile visualizzarlo.

Ma errori nella configurazione o exploit nel codice potrebbero consentire di visualizzare il contenuto dei file.

Normalmente, si metterebbero tali informazioni al di fuori del webroot, per ridurre la possibilità che una cosa del genere si verifichi.

Problemi correlati