Sin impuesto Con impuesto

Permisos de ficheros y carpetas en PrestaShop: la configuración correcta

Un 777 «para que funcione» es una invitación. Te explicamos los permisos correctos y cómo arreglarlos sin romper la tienda.

Equipo Rekire
Updated: 26/09/2026 22
Permisos de ficheros y carpetas en PrestaShop: la configuración correcta
Share:

Cuando un módulo no puede escribir en una carpeta, la tentación es ponerle permisos 777. Funciona, y a la vez permite que cualquier proceso del servidor escriba ahí, incluido un atacante que haya encontrado una vulnerabilidad.

Los valores correctos

  • Carpetas: 755
  • Ficheros: 644
  • Ficheros de configuración (app/config/parameters.php): 640 o 600 si el servidor lo permite.
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

El propietario importa más que el número

PrestaShop necesita escribir en var/, img/, upload/, download/, themes/*/assets/cache, modules/ (para instalar) y translations/. Si los ficheros pertenecen al mismo usuario con el que corre PHP, 755/644 basta. Si no, el problema es de propietario, no de permisos.

Error típico: ejecutar la consola de PrestaShop como root. Los ficheros de caché quedan a nombre de root, el servidor web no puede sobrescribirlos y el back office empieza a dar errores 500. Usa siempre el usuario del servidor web.

Bloquear PHP en carpetas de subida

En las carpetas donde se suben ficheros, ningún .php debería ejecutarse nunca. Con Apache, un .htaccess en cada una:

<FilesMatch "\.(?i:php|phtml|phar|pht)$">
    Require all denied
</FilesMatch>

PrestaShop 9 trae de serie un modules/.htaccess que niega el acceso directo a ficheros .php dentro de modules/. Los módulos deben exponer sus puntos de entrada como controladores (index.php?fc=module&module=...), no como PHP sueltos.

Después de una actualización

Las actualizaciones de PrestaShop pueden sobrescribir .htaccess y otros ficheros del núcleo. Si tenías reglas de seguridad añadidas a mano, comprueba que siguen ahí.

Laden...
Cookie-Zustimmung
Zum Seitenanfang