Eventuali duplicati:
Putting core classes above the web root - good or bad idea?Perché mettere le credenziali di MySQL al di fuori della directory www?
Continuo a leggere che si tratta di una pratica migliore per mettere le credenziali di connessione MySQL (che si tratti di una classe, definisce, ecc ..) al di fuori della web root (sopra la cartella www).
Perché è questo? Se le credenziali sono in un file .php, non importa se il file è accessibile attraverso il browser, giusto?
Fino al momento in cui il server Web non è configurato correttamente e serve accidentalmente il codice sorgente PHP piuttosto che interpretarlo. –