La mia raccomandazione: Non memorizzare le password nel codice sorgente.
Invece, memorizzali in un file di configurazione (al di fuori della web root) e assicurati che il file di configurazione non sia accessibile al pubblico. Il motivo è che normalmente non si desidera mantenere le password controllate nel repository del codice sorgente o esposte a chiunque possa visualizzare i file nella propria web root.
C'è un ulteriore rischio con l'archiviazione delle password in un file .php
all'interno del webroot, che è un po 'oscuro ma può essere facilmente evitato posizionando il file all'esterno della tua web root. Considera che se stai modificando connection.php
usando un editor di testo e la tua connessione cade mentre la stai modificando, il tuo editor salverà automaticamente una copia del file connection.php
in qualche file di backup: ad es. connection.php~
(nel stessa directory). Ora il file di backup ha un'estensione diversa, quindi se qualcuno cerca di recuperare quel file, il server Apache servirà felicemente una copia del file in chiaro, rivelando la password del database. Vedi l'1% dei siti con CMS espone le loro password di database per i dettagli.
Vedi anche In che modo i progetti open source gestiscono artefatti sicuri? , Open Source e come funziona per progetti sicuri?