2010-02-18 9 views
5

imaginar el siguiente archivo PHP:¿Es posible ver contenido PHP que no se repite?

<?php 
    $topSecret = "Something important"; 
?> 

Si pongo esto en un servidor que ejecuta la configuración estándar de la lámpara, ¿cómo es posible que alguien pudiera averiguar $topSecret?

Si la variable no se repite, ¿es vulnerable? Una aplicación real de esto podría ser las credenciales de la base de datos almacenadas en la raíz web de un servidor.

+1

¿Hoy es el día de la seguridad de PHP? :) Hace una pregunta muy similar hace 15 minutos http://stackoverflow.com/questions/2287903/safest-place-to-store-php-values-for-msql-connect/2287909#2287909 y estoy a punto de pregunta uno en la misma vena, también. Ah, SO y sus cientos de miles de usuarios ... –

+0

Sí, esa pregunta me incitó a preguntar esto. Pensé que sería mejor crear una nueva pregunta en lugar de preguntar una en un hilo de comentarios. –

Respuesta

13

Si PHP fallara, la página se mostraría como un archivo de texto sin formato. Eso ha sucedido antes; una vez que pasó a Facebook. Para protegerse de esto, debe almacenar todas las variables sensibles (contraseñas, etc.) en un archivo php que no está en la raíz web. Puede almacenarlo en la carpeta principal (si tiene acceso) o en una subcarpeta protegida por apache (deny all).

6

En circunstancias normales, no sería posible ver eso.

Pero los errores en la configuración o exploits en el código podrían permitir ver el contenido de los archivos.

Normalmente, se colocaría dicha información fuera de la webroot, para disminuir la posibilidad de que suceda tal cosa.

Cuestiones relacionadas