2011-10-24 12 views

Respuesta

6

Siempre que se asegure de que el archivo ini está fuera del DOCUMENT_ROOT y no es legible en todo el mundo, no es menos seguro que cualquier otro método.

+0

+1 por sugerir mantener el archivo fuera del docroot. Esto reduce la superficie de ataque a través de otras vulnerabilidades comunes. – Cheekysoft

3

Usted no tiene que poner esa información en los parámetros cada vez. Puede definir la conexión en un archivo separado (dbconnection.php) e incluir eso en los archivos que necesitan una conexión a la base de datos.

3

No es seguro, porque se puede leer archivos ini con php método: parse_ini_file

+1

Creo que este es un argumento inválido. Si desea poder leer el usuario/pase a través de PHP para hacer una conexión, entonces * cualquier * método que use para almacenar el usuario/pase deberá ser legible por PHP ... –

+0

"Preguntó si eso la información se puede recuperar por cualquier método "Pero esto es * siempre * verdadero. Es decir, con la misma lógica, guardar el usuario/pasar una cadena dentro de una propiedad privada de la clase db no es seguro, porque puedo verlo con print_r ($ db). –

+0

"nunca te dejarán meterse con su archivo ini" - Parece que estás asumiendo que quiere poner el usuario/pase en el archivo php.ini global. Eso no es necesario. Puede crear sus propios archivos ini locales para almacenar la configuración local, y no es menos seguro que poner los ajustes en el origen PHP. –

0

Sería mucho más seguro, si lo había puesto en un archivo sin extensión, y luego asegure de que los archivos de .htaccess. Además, el archivo .ini puede ser leído por cualquier navegador, por lo que sería superseguro.

1

No creo que exista un riesgo de seguridad al guardar cualquier configuración en el archivo php.ini ya que la ubicación del archivo ini está fuera del directorio "público". Ningún usuario puede acceder a este archivo.

Puede obtener el parámetro ini usando la función php "ini_get". Puede encontrar más información sobre este parámetro aquí: http://php.net/manual/en/function.ini-get.php

0

Como se indicó anteriormente, el archivo .ini podría no ser más o menos seguro que almacenarlo en un archivo .php. Sin embargo, una cosa a considerar es que al usar el archivo .ini, esta configuración es efectivamente global para todos y cada uno de los códigos PHP y sitios web. El uso del archivo .ini puede afectar a otro código para el que desee utilizar un usuario diferente.

En general, es probablemente la mejor práctica de seguridad NO usar un archivo .ini para almacenar la contraseña, simplemente porque ahora está abierto a cualquiera que almacene archivos PHP en su servidor. También lo convierte en una molestia si de repente necesita dar varios sitios o aplicaciones para un sitio diferente de inicio de sesión (para bases de datos separadas). No es mejor utilizar un inicio de sesión para múltiples bases de datos, excepto para el usuario raíz, que solo debe usarse con fines administrativos.

Cuestiones relacionadas