PHP può arrestarsi in modo anomalo ed esporre il codice sorgente?

3

Sto eseguendo NGINX e PHP veloce CGI. Ho un semplice sito Web PHP che ha alcune credenziali codificate nel codice sorgente.

Nginx servirà il vero codice sorgente del sito web invece della versione interpretata nel caso il crash del processo php-fpm?

Questo scenario è possibile?

    
posta r00tkit 03.11.2016 - 21:57
fonte

3 risposte

2

Possibile, sì. Anche se molto più probabile, come altri hanno notato, è una configurazione errata, che fa sì che le richieste non vengano inviate all'interprete e rivelino il codice sorgente.

Una mitigazione comune a questo è lo spostamento di file sensibili, come un file di configurazione contenente le credenziali del database, all'esterno della radice del documento. I framework MVC incoraggiano questo usando un front controller. Cioè, l'unico codice sorgente esposto alla radice del documento è un piccolo file index.php . Il resto del codice sorgente viene letto dall'esterno della radice del documento. Ciò minimizza l'impatto dell'interpretazione errata dell'interprete.

    
risposta data 04.12.2016 - 02:38
fonte
1

Un problema abbastanza comune è la stampa di tracce dello stack, tramite un gestore di errori personalizzato o display_errors = on in php.ini e database rivelatore credenziali quando la connessione fallisce .

Ci sono anche configurazioni errate di Nginx / PHP che risulteranno nel servire i tuoi file come testo normale piuttosto che passarli attraverso l'interprete, ma è più probabile che questi vengano scoperti mentre testi la configurazione.

    
risposta data 03.11.2016 - 23:07
fonte
0

Se PHP FPM non è configurato per eseguire .php file (o non configurato correttamente), in alcuni casi nginx -t non si lamenta, ma si ottiene un download del codice sorgente fly-by php se si apre la pagina. Se apporti modifiche a questa particolare sezione nel tuo blocco server , assicurati sempre che la pagina venga visualizzata come dovrebbe.

Se PHP si arresta in modo anomalo, otterrai sempre un errore HTTP 502 Bad Gateway su Nginx e tutto ciò non dovrebbe accadere.

    
risposta data 03.01.2017 - 03:22
fonte

Leggi altre domande sui tag