Mi recomendación: No almacene contraseñas en el código fuente.
En su lugar, guárdelos en un archivo de configuración (fuera de la raíz web) y asegúrese de que el archivo de configuración no sea de acceso público. El motivo es que normalmente no desea mantener sus contraseñas en el repositorio de código fuente o expuestas a todos los que pueden ver los archivos en su raíz web.
Existe un riesgo adicional con el almacenamiento de contraseñas en un archivo .php
dentro de su webroot, que es un poco oscuro pero se puede evitar fácilmente colocando el archivo fuera de su raíz web. Considere: si está editando connection.php
usando un editor de texto, y su conexión se cae mientras lo está editando, su editor guardará automáticamente una copia del archivo connection.php
en algún archivo de copia de seguridad: por ejemplo, connection.php~
(en el mismo directorio). Ahora el archivo de copia de seguridad tiene una extensión diferente, por lo que si alguien intenta recuperar ese archivo, el servidor Apache estará encantado de entregar una copia del archivo en texto sin formato, revelando la contraseña de la base de datos. Consulte el 1% de los sitios que utilizan CMS expone sus contraseñas de la base de datos para obtener más información.
Vea también ¿Cómo los proyectos de código abierto manejan artefactos seguros? , ¿Open Source y cómo funciona para proyectos seguros?