Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona Modulo Backup PrestaShop 8 & 9 — dfbackup, DB + File, Cifratura AES-256, S3/FTP/Dropbox, Replica Staging, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Un vero backup, non uno script raffazzonato
La maggior parte dei moduli di backup PrestaShop si limita a chiamare mysqldump poi a tar-are la cartella shop, il che pone tre problemi in produzione: mysqldump non è disponibile sulla maggior parte degli hosting condivisi, shell_exec è disattivato per ragioni di sicurezza, e gli archivi non cifrati che restano sul disco sono una bomba a orologeria in caso di compromissione. dfbackup risolve questi tre punti: dump DB in puro PHP, archiviazione tramite ZipArchive, e cifratura AES-256 autenticata opzionale con passphrase utente. Il tutto funziona su hosting condivisi come OVH, o2switch, Infomaniak, Hostinger, Plesk, Aruba, senza configurazione particolare.
Cifratura AES-256 con HMAC: encrypt-then-MAC fatto correttamente
Il pattern encrypt-then-MAC è lo standard raccomandato dai crittografi per gli schemi simmetrici: si cifra prima, poi si calcola un HMAC sul ciphertext e l'IV. Alla lettura, si verifica l'HMAC prima di decifrare — protezione contro i bit-flip attack e i padding oracle attack. La passphrase utente passa per PBKDF2-SHA256 con 120000 iterazioni per derivare una chiave di cifratura e una chiave HMAC separate (32 byte ciascuna). Il formato binario IV-HMAC-ciphertext è documentato, auditabile, e letto da qualsiasi strumento OpenSSL compatibile. La passphrase stessa non viene mai archiviata in chiaro: solo il suo hash password_hash viene conservato per verifica.
S3 SigV4 nativo: multipart, MinIO, R2, OVH, Scaleway, Wasabi, B2
Invece di integrare l'SDK AWS ufficiale (che pesa diversi MB e impone Composer), dfbackup implementa direttamente AWS Signature V4 in cURL. Un centinaio di righe di codice, zero dipendenze esterne, signature canonica compatibile con tutti i servizi che parlano S3. Puoi puntare dfbackup verso Amazon S3 in regione eu-west-3, o MinIO sul tuo VPS, o Cloudflare R2 (che offre 10 GB gratuiti e zero costi in uscita), o OVH Object Storage, o Scaleway, o Wasabi, o Backblaze B2 — tutti funzionano cambiando solo l'endpoint e la regione nei parametri. Oltre i 100 MB, l'upload passa automaticamente in multipart con parts di 10 MB, il che permette di trasferire un archivio di diversi gigabyte senza saturare la memoria.
Replica push: uno staging nightly senza configurazione sysadmin
È la funzionalità che distingue dfbackup: la possibilità di spingere ogni backup verso una seconda installazione PrestaShop. Installi dfbackup sulla tua produzione e sul tuo staging, condividi un secret comune, spunti Replica come destinazione di storage. A ogni backup — manuale o pianificato — l'archivio viene caricato a chunk di 8 MB firmati HMAC-SHA-256 verso un front controller dedicato sul target. Se l'opzione auto-restore è attivata lato target, il backup viene automaticamente applicato — il tuo staging è aggiornato il giorno successivo con i dati del giorno prima. Non serve più rsync, script cron sysadmin, trasferimenti FTP manuali, né licenze ManageWP.
Ripristino 1-clic con rete di sicurezza
Un ripristino di backup è l'operazione più rischiosa di un ciclo di vita di un negozio: si sovrascrive il DB vivo con una versione anteriore, si sostituiscono tutti i file, e se qualcosa va storto, il rollback è complesso. dfbackup aggiunge una rete di sicurezza automatica: prima di ogni ripristino, viene creato silenziosamente uno snapshot solo DB. Se il ripristino fallisce a metà strada (corruzione di archivio, errore SQL, spazio disco insufficiente), ripristini questo snapshot e torni allo stato iniziale in pochi minuti. La tabella dfbackup stessa non viene mai sovrascritta durante un ripristino — il tuo storico di backup è preservato anche quando ripristini una versione di sei mesi fa.
Backup in background: un clic, log in diretta
L'esperienza classica di un pulsante Run backup in PHP: si clicca, il browser si blocca per 5-15 minuti, l'utente crede che si sia piantato, ri-clicca, due backup partono in parallelo e il lock cade in errore. dfbackup risolve questo pattern in due tempi: il clic pre-alloca una riga in database, attiva un cURL self-call verso un front controller dedicato, e restituisce l'ID immediatamente (meno di 500 ms). Il browser visualizza subito una barra di progresso e fa polling dei log in tempo reale — vedi sfilare le 15 fasi (avvio, dump DB, archiviazione file, cifratura, calcolo del checksum, upload verso ogni backend, rotazione). Il backup gira nel suo proprio processo PHP, completamente disaccoppiato dalla richiesta utente. Funziona su tutte le modalità PHP: FPM, mod_php, FastCGI.
Pianificazione: cron nativo PS più web-cron di backup
Sugli hosting condivisi che non danno accesso al cron di sistema, l'hook actionCronJob di PrestaShop gira solo quando qualcuno visita il negozio — non ideale per pianificare un backup notturno. dfbackup fornisce un web-cron di backup: un URL firmato da token (rigenerabile dal BO) che un servizio esterno come cron-job.org o EasyCron chiama almeno ogni ora. Il modulo verifica internamente l'orario target configurato (per esempio 03:00 daily) e lancia il backup solo nella finestra prevista. La deduplicazione su 60 minuti evita i doppi avviamenti. Il front controller webcron passa per il dispatcher PrestaShop, quindi funziona anche quando l'hosting blocca l'accesso diretto ai PHP sotto moduli.
Audit log, avvisi BO, snapshot pre-upgrade: la difesa in profondità
Tre meccanismi complementari per evitare che un backup venga perso senza accorgersene. Il journal di audit traccia ogni azione sensibile (avvio, ripristino, eliminazione, verifica, download) con dipendente, IP e timestamp — utile in caso di incidente per ricostruire. L'avviso back-office visualizza un banner giallo o rosso in testa a tutte le pagine admin se l'ultimo backup è fallito o se risale a più di 7 giorni — impossibile dimenticarsene. Lo snapshot pre-upgrade si attiva automaticamente prima di ogni aggiornamento di modulo installato: se l'aggiornamento rompe qualcosa, ripristini con un clic. Questi tre meccanismi sono attivabili e disattivabili indipendentemente nelle Impostazioni.
Ancora non ci sono recensioni.