Seguridad al conectarse a una base de datos MySQL utilizando PDO

3

Observé esta pregunta: ¿Cuál es la forma correcta de almacenar cadenas de conexión de base de datos desde el punto de vista de seguridad?

Y me pregunto específicamente por conectar a una base de datos MySQL con PDO, ¿cómo puedo estar más seguro?

  1. Actualmente guardo mi contraseña en texto sin formato en un archivo .php.
  2. Si el almacenamiento fuera de la raíz es óptimo, ¿cómo puedo incluir este archivo cuando debo acceder a la base de datos en index.php, por ejemplo?
pregunta user1114 30.12.2011 - 01:49
fuente

2 respuestas

3

Utilice include o include_once para incluir cualquier cosa en PHP.

<?php
include_once("/etc/out-of-htdocs/password.php");
?>

El código PHP puede acceder a los archivos, a los que no se puede acceder a través de una URL. Ese es el beneficio de seguridad.

En caso de falta de configuración del módulo PHP, es posible que cada archivo PHP se entregue sin evaluación, lo que significa que la contraseña es legible para todos. Si no se puede acceder al archivo PHP a través de una URL, un problema de configuración del módulo PHP no tiene ningún impacto en la seguridad de la contraseña.

    
respondido por el ceving 02.01.2012 - 20:31
fuente
1

Quiero agregar a la pregunta original: ¿tal vez haya una forma de no almacenar la contraseña real en un archivo? Solo para mantener un hash en él, si los archivos PHP se descargan de alguna manera, el atacante no puede hacer eso.

Creo que no es un ejemplo descabellado, porque a veces no es posible almacenar el archivo de configuración fuera del directorio al que se puede acceder a través de FTP, lo que puede forzarse fácilmente.

    
respondido por el Xenon 03.01.2012 - 00:13
fuente

Lea otras preguntas en las etiquetas