Sin impuesto Con impuesto

Permessi di file e cartelle in PrestaShop: la configurazione corretta

Un 777 «per farlo funzionare» è un invito. Ti spieghiamo i permessi corretti e come sistemarli senza rompere il negozio.

Jesús Meilán
Updated: 26/09/2026 127
Permessi di file e cartelle in PrestaShop: la configurazione corretta
Share:

Quando un modulo non riesce a scrivere in una cartella, la tentazione è dargli i permessi 777. Funziona, ma allo stesso tempo permette a qualsiasi processo del server di scriverci, compreso un attaccante che abbia trovato una vulnerabilità.

I valori corretti

  • Cartelle: 755
  • File: 644
  • File di configurazione (app/config/parameters.php): 640 o 600 se il server lo permette.
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Il proprietario conta più del numero

PrestaShop ha bisogno di scrivere in var/, img/, upload/, download/, themes/*/assets/cache, modules/ (per installare) e translations/. Se i file appartengono allo stesso utente con cui gira PHP, 755/644 basta. Altrimenti, il problema è il proprietario, non i permessi.

Errore tipico: eseguire la console di PrestaShop come root. I file di cache restano intestati a root, il server web non riesce a sovrascriverli e il back office inizia a dare errori 500. Usa sempre l'utente del server web.

Bloccare PHP nelle cartelle di upload

Nelle cartelle in cui si caricano file, nessun .php dovrebbe mai essere eseguito. Con Apache, un .htaccess in ognuna:

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

PrestaShop 9 include di serie un modules/.htaccess che nega l'accesso diretto ai file .php dentro modules/. I moduli devono esporre i loro punti d'ingresso come controller (index.php?fc=module&module=...), non come file PHP sciolti.

Dopo un aggiornamento

Gli aggiornamenti di PrestaShop possono sovrascrivere .htaccess e altri file del core. Se avevi regole di sicurezza aggiunte a mano, verifica che ci siano ancora.

Caricamento...
Consenso sui cookie
Torna all'inizio