¿Es segura la aplicación web en una carpeta no pública?

4

Me pregunto si es realmente seguro usar esta estructura de mi aplicación web.

WEBAPP
    Application
        Controllers
        Models
        Views
        ...
    Framework
        ...
        Core
    Public
        ...
        index.php

Si dirijo una carpeta raíz de un sitio web a / public, entonces, si alguien visita mi página web, es decir, www.mywebsite.com ... accederá a la carpeta /public donde se encuentra index.php . Mi pregunta es, ¿será realmente seguro no mover los archivos principales de mi aplicación a la carpeta /public sino al nivel superior?

¿O es posible acceder a las carpetas webapp/application/ y webapp/framework/ desde webapp/public/ por algunos hackers?

    
pregunta aspirinemaga 27.04.2014 - 11:37
fuente

3 respuestas

3

Normalmente, todos los archivos * .php (si están configurados correctamente) se ejecutarán, y nadie podrá descargar su código fuente. Cuando tiene archivos como db-functions.inc, las personas pueden representar esto en sus navegadores; que es lo que no quieres.

Lo útil de tener directorios accesibles no públicos es que puede almacenar archivos de copias de seguridad (dbdump.sql, backup.zip, ...) y no podrá descargarlos directamente desde el navegador.

PERO:

  

O es posible acceder a la aplicación web / aplicación / y   ¿webapp / framework / from webapp / public / carpetas por algunos hackers?

Lamentablemente, sí. Aunque no es posible ir directamente al directorio (en el software de servidor web adecuado, no se puede simplemente hacer www.site.com/../hidden/hiddenfiles.zip ), si su sitio web tiene vulnerabilidades a través del directorio , puede ser posible acceder a archivos fuera de su raíz web.

El saneamiento de entrada es clave, el artículo de wikipedia vinculado es realmente una buena lectura.

    
respondido por el ndrix 27.04.2014 - 14:40
fuente
2

Si su código no es vulnerable a la inclusión de archivos / directorios locales y configuró su servidor correctamente, no será posible acceder a / webapp / application o / webapp / framework /

Y a tu pregunta: sí, sería una mala idea mover los archivos principales dentro / público. Es por eso que los creadores del framework crearon el directorio público :) Si los directorios contienen archivos de configuración, es muy posible que un atacante pueda leerlos. Pero incluso si solo contiene archivos php, sigue siendo un riesgo de seguridad. Llamar a esos archivos directamente puede tener consecuencias no deseadas, como mínimo esperaría que se filtre información de bajo nivel, como rutas, etc.

    
respondido por el tim 27.04.2014 - 14:42
fuente
0

Debe configurar su servidor web para que solo el contenido del directorio público sea público. Si el servidor web está configurado correctamente, las solicitudes HTTP no podrán acceder a ningún otro contenido.

    
respondido por el Steven Volckaert 27.04.2014 - 11:57
fuente

Lea otras preguntas en las etiquetas