Ci sono alcuni avvertimenti con questo, il primo si spera che il percorso: /home/ilia/sql.cnf non si trovi all'interno del webroot del tuo sito web, o un utente malintenzionato potrebbe semplicemente visitare l'URL link per visualizzare le credenziali del tuo database.
Inoltre, si spera che il tuo sito web non includa vari bug di divulgazione delle informazioni o una pagina phpinfo poiché phpinfo scaricherà l'array $ _SERVER e quindi rivelerà le credenziali del tuo database a qualsiasi visitatore di questa pagina.
Inoltre, l'ipotesi che sarebbe più difficile per un utente malintenzionato ottenere le informazioni se è memorizzata in un file PHP rispetto alle variabili di ambiente è spazzatura. Il tuo esempio imposta le variabili d'ambiente per ogni richiesta di pagina. Ciò significa che un attacco directory trasversale che potrebbe non avere le autorizzazioni per leggere il tuo file sql.conf avrà comunque il permesso di leggere / prof / self / environ e ottenere le credenziali in questo modo.
Garantire che il server del database sia associato all'interfaccia di loopback, che le credenziali del database dispongano dei privilegi più bassi possibili e che l'applicazione Web e il software del server siano tempestivamente corretti e archiviare le credenziali nel file php.