Configurando los archivos privados en Drupal 10

Cartel de propiedad privada

Cuando trabajamos con información sensible es importante que nos aseguremos de mantenerla a salvo, y lo mismo aplica a los archivos con cierta información como facturas o pasaportes, los cuales debemos mantener seguros y lejos del alcance público.

¿Y como los protegemos en Drupal? Muy sencillo, creando una carpeta para almacenar los archivos de manera privada, de manera que nadie que no disponga de los permisos pueda acceder a ellos.

Y es importante que sepamos que Drupal por defecto dispone de 3 lugares donde almacenar los archivos, están los públicos, temporales y privados;  bueno, los mismo nombres describen muy bien a cada uno, los públicos son accesibles por todos, los temporales son temporales y se borran cada 6 horas y los privados, pues son privados, se necesitan permisos para poder acceder a ellos.

Configurando el almacenamiento privado

Esto es muy sencillo de hacer, y es que tenemos que añadir una linea al settings.php para hacerlo, en concreto es la siguiente:

$settings['file_private_path'] = '';

Y entre las comillas el path a la carpeta donde se almacenarán, esta carpeta nunca debe ser accesible desde la web precisamente por contener información privada, de modo que los recomendable es no crearla dentro de sites/default/files por ejemplo, pero si que podríamos dejarla un nivel por encima de donde se ubica Drupal, de modo que nos quedaría esa linea de la siguiente manera:

$settings['file_private_path'] = '../private';

De esa manera le indicamos a Drupal que estará configurada un nivel por encima y se llamará "private".

Carpeta privada en Drupal

Asegurándonos de que Drupal la detecta

Una vez que hayamos añadido esa linea al settings.php y que la carpeta para almacenar los archivos existe, tenemos que limpiar la cache para asegurarnos de que Drupal detecta el cambio sin problemas. La limpieza de la cache podemos hacerla desde /admin/config/development/performance.

Cuando haya finalizado la limpieza de la cache podremos comprobar si Drupal la detecta desde /admin/config/media/file-system

Carpeta privada en el sistema de archivos de Drupal

Y listo, eso es todo lo que hay que hacer para tenerla configurada.

Comparte este artículo:
Publicado por Borja
Image

Me metí en la aventura de Drupal con la versión 6, y aquí estoy, 10 años después, escribiendo articulos y haciendo videos sobre Drupal, quien me lo iba a decir. Aunque he probado otros framworks y cms, me quedo con Drupal de lejos, pero Symfony y Django estan entre mis favoritos. Aficionado a la montaña, la bicicleta, y el comer, de eso que no falte.