Skip to content

24. Ejercicio práctico – version 13

La version 13 introduce pocos cambios: protege el acceso a los archivos de la aplicación.

Con el version 12, se puede solicitar el siguiente URL [http://localhost/php7/scripts-web/impots/version-12/config.json]. A continuación, se obtiene la siguiente página (Firefox):

Image

Sin embargo, este archivo [config.json] contiene información sensible, como los identificadores de los usuarios autorizados a utilizar la aplicación. No debe ser accesible para los usuarios. Lo mismo ocurre con todos los archivos de la aplicación, a excepción de los archivos [main.php, index.php, Views/logo.jpg], que sí deben ser accesibles desde el exterior. De hecho, las vistas necesitan tener acceso HTTP al logotipo de la aplicación. El version 13 ofrece una solución sencilla a este problema.

En Netbeans, copiamos y pegamos la carpeta [version-12] en [version-13]:

Image

  • en [1], en la carpeta raíz de la aplicación, solo dejamos los scripts [index.php, main.php];
  • en [2], los archivos de configuración se colocan en una carpeta [Config];
  • en [3], la imagen [logo.jpg] se coloca en una carpeta [Resources];

El servidor HTTP utilizado aquí es un servidor Apache. Este permite controlar el acceso a una carpeta mediante un archivo [.htaccess]. En todas las carpetas a las que queremos prohibir el acceso directo mediante URL, creamos el siguiente archivo [.htaccess]:

Image

Estas dos líneas hacen que se prohíba el acceso a la carpeta a todo el mundo.

Colocamos este archivo en todas las carpetas de la aplicación, excepto en la carpeta raíz y en la carpeta [Resources]. Finalmente, solo se puede acceder desde el exterior a tres archivos: [index.php, main.php, Resources/logo.jpg].

Hagamos algunas pruebas:

Image

Image

Image

Image

Image

Hay que realizar algunas modificaciones en el código:

En el archivo [Config/config.json]:

Image

En el archivo [main.php]:

Image

En el archivo [Views/v-bandeau.php]:

Image