Skip to content

24. Ejercicio práctico – versión 13

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

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

Image

Sin embargo, este archivo [config.json] contiene información confidencial, como las credenciales 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. La versión 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 que se utiliza 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 impiden el acceso a la carpeta para todos.

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

Hagamos algunas pruebas:

Image

Image

Image

Image

Image

Se deben 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