2008-10-19 11 views
8

Tengo un archivo .ini con información confidencial en mi aplicación php wab. Yo les niega el acceso a la misma mediante un archivo .htaccess:¿Es seguro denegar el acceso al archivo .ini en .htaccess?

<files my.ini> 
    order deny,allow 
    deny from all 
</files> 

no tengo acceso a las carpetas fuera de htdocs, así que no puedo mover el archivo .ini fuera del territorio navegable.

¿Mi solución es segura?

Respuesta

7

El .htaccess bloqueará el acceso desde la web. Sin embargo, si está utilizando un entorno de alojamiento compartido, es posible que otros usuarios accedan a su ini. Si está en un servidor (virtual privado) y usted es el único usuario de ese servidor, está a salvo.

En caso de alojamiento compartido, depende de la configuración del servidor. Para obtener más información, lea: PHP Security in a shared hosting environment

Puede instalar temporalmente PHPShell y navegar a través del sistema de archivos del servidor para comprobar si su servidor es vulnerable. (requiere conocimientos de línea de comandos)

2

El archivo no estará visible desde apache. Obviamente, la mejor opción es colocarlo fuera de la raíz de su sitio. Si no puede hacer eso, los archivos .htaccess (o directivas similares en sus configuraciones de Apache) son prácticamente su única opción.

4

Otra buena solución y mi favorito personal (especialmente al desarrollar código que podría no quedar bajo mi estricto control .htaccess) es asegurar el archivo .ini real. Gracias a una especie alma here - user notes: pd at frozen-bits dot de, lo que hago es:

my.ini -> changes to my.ini.php 

my.ini.php comienza:

;<?php 
;die(); // For further security 
;/* 
    [category] 
    name="value" 

;*/ 

funciona perfectamente! Acceda al archivo directamente y todo lo que ve es ';' y es un archivo .ini válido y parseable. ¿Qué más se puede pedir :)

Algunas notas sobre la aplicación real (disculpas si esto cuenta como "Overshare" pero tal vez salvar a alguien algún tiempo):

  1. Este archivo hace que mi IDE muy molesto y se sigue intentando para reformatear automáticamente, lo que hace que PHP esté molesto. Bendiciones en Notepad ++.
  2. No olvide el ;*/ de cierre. Todavía funciona si lo dejas afuera pero PHP te advierte que está a punto de convertirse en molesto.

Ordenado.

Cuestiones relacionadas