Cosa fa
Un negozio cambia continuamente. PrestaWard Snapshot crea una linea di base tecnica e mostra i file aggiunti, modificati o eliminati, così puoi distinguere un intervento pianificato da una modifica inaspettata.
Analizza anche il codice sospetto dei file nuovi o modificati, assegna un livello di rischio a ogni modifica e raggruppa gli aggiornamenti dei moduli e dei temi, in modo che ciò che merita attenzione non si perda tra le modifiche di routine.
Controlla anche il codice JavaScript del tema attivo e dei moduli di pagamento alla ricerca di segni di skimmer per carte di credito, monitora il volume delle cartelle multimediali e verifica 14 punti delle impostazioni di sicurezza. Un pannello a schede, con un riepilogo essenziale, ti dice in una riga cosa richiede attenzione. È in sola lettura sui tuoi file: non li modifica, non li ripristina né li cancella, e scrive solo nel proprio spazio di lavoro e nel proprio database.
Come funziona
- Salva un hash SHA-256 di ogni file, insieme al suo percorso relativo, alla dimensione e alla data di modifica. Non salva copie dei file né del loro contenuto.
- Confronta il negozio con l’ultima linea di base e classifica ogni modifica come di routine, sospetta o critica. I file eseguibili e quelli di configurazione sensibili vengono sempre monitorati.
- Controlla i moduli, i gateway di pagamento, i temi, le classi del core, l’amministrazione, le impostazioni,
override,src,vendor,upload,download,img,jse i file nella directory principale. Le cartelle temporanee di PrestaShop, comeimg/tmpe le cache delle risorse del tema, non vengono analizzate. - Le esclusioni si definiscono per nome esatto o percorso relativo. Prima di attivarle è obbligatoria un’anteprima, e le cartelle escluse continuano a essere monitorate alla ricerca di file eseguibili.
- Avvia il confronto dal Back Office o tramite un cron protetto da token. Nei negozi con tantissimi file, un processo potrebbe richiedere il comando da riga di comando
bin/snapshot-worker.php, che l’amministratore del server esegue manualmente: il modulo non lo avvia mai da solo. - Se un’analisi fallisce o viene annullata, viene conservata l’ultima linea di base valida. I risultati di un confronto vengono visualizzati solo quando il processo è completato.
- Invia un avviso via e-mail quando rileva modifiche rilevanti. I destinatari si configurano nel modulo e, di default, è l’indirizzo e-mail del negozio. Nell’intestazione dell’e-mail compare il logo del tuo negozio, mentre nel piè di pagina c’è il logo di GO ON Agency e la firma «PrestaWard by GO ON Agency».
- Conserva la cronologia per il periodo che imposti (90 giorni per impostazione predefinita) e non elimina le revisioni in sospeso.
- Il pannello è suddiviso in schede (Riepilogo, Modifiche, Processi, Verifiche, Configurazione e Cronologia delle modifiche) e tiene conto solo di quella che hai aperta, quindi si apre più velocemente nei negozi di grandi dimensioni. Un’ultima scheda, “Assistenza”, raggruppa il pannello di assistenza di GO ON Agency, mentre lo stato di Integrity si trova in fondo a tutte le altre. La scheda Riepilogo mostra la linea di base, l’ultimo confronto, un’azione principale (Crea snapshot se non c’è una linea di base e Confronta ora se c’è) e, al massimo, una riga: il processo in corso o l’avviso più importante, con «e altri N» se ce ne sono altri.
- I processi completati vengono conservati per 90 giorni e sono consultabili nella scheda “Processi”, in una tabella con filtri per tipo, stato e date. Ogni processo ha i propri dettagli (cronologia, file, memoria massima, avvisi con cartelle di esempio e download della diagnostica) e, quando si cancella la cronologia dei file, rimane un riepilogo di ciò che è successo.
- Un processo che richiede l’uso della riga di comando appare in giallo, con la descrizione in parole semplici e il comando esatto accompagnato da un pulsante per copiarlo. Nel browser non c’è il pulsante per riprendere il processo.
Requisiti
- PrestaShop 1.7, 8 o 9, comprese le installazioni multistore, e la versione di PHP richiesta dalla tua versione di PrestaShop (PHP 7.1 o superiore su PrestaShop 1.7).
- Tabelle di database con motore InnoDB. Il modulo le verifica e converte le proprie tabelle al momento dell’aggiornamento.
- Dopo l’installazione, solo il profilo amministratore può accedere. Gli altri profili sono autorizzati con i permessi nativi di PrestaShop per la lettura, la creazione e la modifica.
- Pannello e messaggi in nove lingue.
Cosa non fa
- Non è un backup e non ripristina i file: rileva che qualcosa è cambiato, ma non lo recupera. È un complemento ai tuoi backup e al tuo controllo delle versioni, non li sostituisce.
- Non è né un antivirus né uno scanner antimalware. Cerca i tipici pattern delle web shell e del codice offuscato nei file PHP e JavaScript nuovi o modificati (fino a 512 KB ciascuno) e presta particolare attenzione ai file eseguibili, compresi quelli che nascondono codice PHP dietro un’estensione ingannevole. Una corrispondenza significa «controlla questo file», non è una prova di attacco, e un file senza corrispondenze non è automaticamente considerato sicuro.
- I segnali di skimmer delle carte in JavaScript sono euristici: indicano un motivo per controllare il file, non provano una violazione, e un indirizzo generato dal codice durante l’esecuzione non viene rilevato. Gli indirizzi dei negozi stessi e dei gateway di pagamento non contano come siti web esterni.
- Non analizza il database.
- Non invia file, percorsi né contenuti a nessun servizio esterno. La connessione con PrestaWard Integrity trasmette l’identificativo dell’installazione e del negozio, il dominio, l’impronta del pacchetto installato e l’impronta riassuntiva di ogni snapshot, senza dati personali dei clienti.
- Non impedisce né blocca le modifiche al negozio: avvisa solo dopo che sono state apportate.
- Il piè di pagina delle e-mail del modulo non contiene link, indirizzi di contatto né immagini ospitate al di fuori del tuo negozio: il logo di GO ON Agency è un file del modulo stesso che viene caricato direttamente dal tuo negozio.
Funzioni principali
- Snapshot di moduli, gateway di pagamento, temi, core, amministrazione e configurazione.
- Analisi del codice sospetto nei file PHP e JavaScript nuovi o modificati: cerca i pattern tipici delle web shell e del codice offuscato e spiega il risultato in un linguaggio chiaro. Un file che supera il limite di dimensione viene contrassegnato come revisionato solo in parte.
- Rilevamento di immagini camuffate (con intestazione errata o contenenti codice PHP) in tutte le cartelle, comprese quelle escluse e, entro un limite di tempo e dimensione, anche in quelle temporanee come
img/tmp. - Livello di rischio per ogni modifica (alto, da verificare o basso), visibile e filtrabile nella revisione, incluso nel file CSV di audit e nelle e-mail di avviso.
- Gli aggiornamenti di moduli e temi sono raggruppati in un unico elemento con la versione precedente e quella nuova, e il codice PHP modificato all’interno di un aggiornamento rilevato presenta un rischio basso e non genera email di avviso.
- Pannello dei file del core: li confronta con l’elenco ufficiale dei checksum della tua versione di PrestaShop, in lotti riprendibili. Viene scaricato solo l’elenco ufficiale; non viene inviato alcun file. Una differenza non prova un’intrusione e, se l’elenco non è disponibile, il pannello segnala che il core non è stato verificato.
- Audit della configurazione di sicurezza con un punteggio da 0 a 100 e 14 controlli: modalità debug, cartella di amministrazione, permessi di configurazione, cartelle di installazione, dump e file compressi nella root del sito, versione di PHP, HTTPS, errori PHP visibili, hardening di PHP (allow_url_include e expose_php), cartelle di controllo versione e file di configurazione (.git, .svn, .hg, .env e varianti) nella radice del sito e all’interno di moduli e temi, chiavi di servizi web con diritti di scrittura su molte risorse, verifica dell’IP tramite cookie e account inattivi che mantengono il profilo SuperAdmin. Per le chiavi si conta solo quante ce ne sono, senza leggerle né mostrarle, e per gli account solo quanti sono, senza nomi né indirizzi. Ogni punto ha una spiegazione e una soluzione, e ciò che non si può verificare viene indicato come “non verificato” e non viene conteggiato.
- Euristiche relative agli skimmer di carte nel codice JavaScript nuovo o modificato del tema attivo e dei moduli di pagamento: codice che legge il numero, la data di scadenza o il codice di sicurezza della carta e li invia a un altro sito web (rischio elevato), dati inviati a un altro sito dal codice dell’ordine o del pagamento, e codice molto offuscato vicino al codice dell’ordine o del pagamento (entrambi da verificare). Ogni risultato è spiegato nella revisione della modifica.
- Preventivo volume multimediale: per ogni cartella (img, upload, uploads e download) conta i file e i byte in ogni linea di base e di confronto, senza accedere ad altri file né salvare dati per singolo file. La sezione “Verifiche” mostra il totale per cartella e l’incremento rispetto alla linea di base, mentre la sezione “Configurazione” permette di impostare un numero massimo di file, una dimensione massima in GB e un incremento massimo in percentuale (50% di default; 0 disattiva il limite). Se un limite viene superato, questo viene segnalato nel “Riepilogo” e nell’e-mail di avviso.
- Limite di monitoraggio visibile: se un’analisi raggiunge il limite di 250.000 nomi letti nelle cartelle escluse, la sezione “Riepilogo” e “Verifiche” indica quante cartelle non sono state monitorate, e il volume multimediale viene contrassegnato come parziale.
- Avviso relativo a un cron che non è mai stato eseguito e avviso specifico per le cartelle e le copie di backup dei moduli presenti nella directory principale del sito.
- Finestra di manutenzione da 1 a 4 ore: silenzia le e-mail di avviso ma continua a registrare le modifiche e, al termine, invia un riepilogo raggruppato con le azioni «Accetta queste modifiche» o «Chiudi senza accettare». Snapshot non crea mai una linea di base da solo.
- Revisione delle modifiche ottimizzata per risultati molto voluminosi: impaginazione per finestre con salto a una pagina, riepilogo raggruppato per cartella, stato e livello di rischio, e coda in sospeso in cui ogni file compare una volta per linea di base.
- Linea di base agile nei grandi negozi: il sistema legge solo le righe relative al proprio processo e i dati temporanei dei processi completati vengono eliminati in lotti circoscritti, senza accumularsi.
- Confronto dal Back Office o cron protetto da token.
- Avvisi via e-mail con riepilogo, categorie interessate e link alla dashboard.
- Pannello a schede con Riepilogo essenziale, cronologia dei processi degli ultimi 90 giorni con filtri e dettagli, copertura, modifiche recenti, registri delle attività e una scheda Assistenza con la diagnostica, sempre l’ultima.
- Barra dei filtri comune nella revisione delle modifiche e nella cronologia dei processi: i selettori sono distribuiti su una griglia di larghezza uniforme, la barra di ricerca e il pulsante «Filtra» si trovano sulla stessa riga, mentre le azioni secondarie, come l’esportazione dell’audit in formato CSV, sono allineate a destra.
- Aspetto unificato del pannello nei quattro moduli PrestaWard: intestazioni di sezione, schede dei moduli con bordi neutri e blocchi a scomparsa comuni, statistiche su un’unica riga e un logo GO ON Agency più grande nell’intestazione. Il pulsante principale assume ora un colore a tinta unita del marchio, senza sfumature.
- E-mail con l’intestazione del tuo negozio: il logo del negozio in alto e, in calce, il logo di GO ON Agency con la firma «PrestaWard by GO ON Agency». L’oggetto non riporta più il nome del negozio.
- Processi di linea di base e di confronto che riprendono dal punto in cui erano stati salvati.
- Esclusioni configurabili con anteprima e nuova linea di base sicura.
- Monitoraggio obbligatorio degli eseguibili e delle impostazioni sensibili anche all’interno delle cartelle escluse.
- Connessione automatica con PrestaWard Integrity, senza bloccare il negozio, con ricevute firmate e concatenate all’impronta di riepilogo di ogni snapshot. Nella schermata del modulo, il pulsante “Sincronizza” aggiorna la connessione.
- Heartbeat e stato di cron per rilevare esecuzioni in ritardo o fallite.
- Scansione incrementale con rehash obbligatorio delle aree critiche e scansione completa periodica.
- Classificazione, filtri, impaginazione, revisione delle modifiche e esportazione delle modifiche in formato CSV.
- Diff sicuro dei metadati, conservazione configurabile e pulizia protetta.
- Pannello di assistenza di GO ON Agency con un rapporto diagnostico scaricabile. Viene scaricato da un dipendente con autorizzazione di modifica, dopo aver selezionato un negozio. Contiene solo versioni, stati e contatori, non include percorsi, contenuti dei file né credenziali e non viene inviato automaticamente.
Compatibilità verificata
La versione 0.1.8 ha superato i test di laboratorio su PrestaShop 1.7, 8 e 9 il 15 ottobre 2026, sia su installazione pulita che tramite aggiornamento dalla versione 0.1.7. La versione 0.1.7 ha superato i test di laboratorio il 13 ottobre 2026; è stata testata con un volume reale di 151.440 file ed è stata utilizzata come versione di prova in un negozio di produzione reale. La versione 0.1.3 ha superato inoltre le prove di installazione, disinstallazione, reinstallazione, accesso autenticato, test avversariali di esclusione e la convalida crittografica su PrestaShop 1.7.8.11 con PHP 7.4, PrestaShop 8.2.7 con PHP 8.1 e PrestaShop 9.1.4 con PHP 8.5.
Utilizzo sicuro
Crea una linea di base solo quando il negozio è stato controllato e ripulito. Confronta dopo ogni intervento e non normalizzare le modifiche che non hai ancora identificato. Il modulo integra, ma non sostituisce, i backup né il controllo delle versioni.
Changelog
0.1.8
- Il pannello è suddiviso in schede (Riepilogo, Modifiche, Processi, Verifiche, Impostazioni e Cronologia delle modifiche) e tiene conto solo della scheda aperta, così si apre più velocemente nei negozi di grandi dimensioni. Il pannello di assistenza di GO ON Agency ha una scheda dedicata, Assistenza, sempre l’ultima, mentre la sezione Integrity si trova alla fine di tutte le schede.
- Sintesi minima: la linea di base attuale, l’ultimo confronto e il suo risultato, un’azione principale e, al massimo, una riga con il processo in corso o l’avviso più importante (modifiche in attesa di revisione, cartelle nuove o non più coperte che richiedono una nuova linea di base, una finestra di manutenzione da chiudere, un cron che non è mai stato eseguito o è in ritardo, backup nella root del sito). Se ci sono altri avvisi, la riga aggiunge «e altri N».
- Scheda “Processi”: il processo in corso viene visualizzato come una scheda con le sue fasi (scoprire, calcolare le impronte, convalidare, confrontare o pubblicare, effettuare l’attestazione), il contatore di file, il tempo trascorso, l’ultimo aggiornamento e chi lo sta eseguendo (Back Office, cron o riga di comando). Un processo che richiede l’esecuzione da riga di comando appare in giallo, con la motivazione in chiaro e il comando esatto con un pulsante per copiarlo; nel browser non c’è il pulsante per riprendere.
- Cronologia dei processi degli ultimi 90 giorni in un’unica tabella (tipo, origine, dipendente, inizio, durata, stato, risultato e avvisi) con filtri per tipo, stato e date e impaginazione, invece del limite precedente degli ultimi 20 processi o 7 giorni. Il risultato di un confronto rimanda alle modifiche rilevate, mentre una verifica dei file del core rimanda alla scheda “Verifiche”.
- Dettagli di ogni processo: cronologia, file, memoria massima, hash della politica, linea di base e confronto collegati, avvisi con cartelle di esempio, un errore tradotto in caso di fallimento e download della diagnostica. Quando si cancellano i dettagli dei file di un processo completato, rimane un riepilogo (numero di avvisi con cartelle di esempio e cartelle non completamente coperte) e la pagina indica che i dettagli sono stati cancellati.
- La sezione “Copertura per categoria” viene spostata alla fine della sezione “Modifiche”; i controlli del negozio (backup, file del core, verifica della configurazione e stato dei moduli) vengono raggruppati nella sezione “Controlli”; mentre le impostazioni relative a e-mail, cron, politica di analisi, finestra di manutenzione e archiviazione si trovano nella sezione “Configurazione”.
- L’audit della configurazione di sicurezza passa a 14 controlli. Novità: rafforzamento delle impostazioni PHP (allow_url_include e expose_php), cartelle di controllo delle versioni e file di configurazione (.git, .svn, .hg, .env e varianti) nella directory principale del sito e all’interno di moduli e temi, chiavi del servizio web con permessi di scrittura su molte risorse (si conta solo il numero presente; non viene mai letta né mostrata alcuna chiave), controllo dell’IP dei cookie e degli account inattivi che mantengono il profilo SuperAdmin (vengono solo contati, senza nomi né indirizzi). Per ognuna c’è una spiegazione e una soluzione, e ciò che non si può leggere viene indicato come “non verificato”. I file .git, .svn e .env nella directory principale del sito passano dalla verifica dei file di installazione e delle copie a quella dei file più recenti, per non contarli due volte.
- Euristiche per lo skimmering delle carte con JavaScript: il codice JavaScript nuovo o modificato del tema attivo e dei moduli di pagamento viene analizzato alla ricerca di tre segnali: codice che legge il numero, la data di scadenza o il codice di sicurezza e invia i dati a un altro sito web (rischio elevato), dati inviati a un altro sito dal codice dell’ordine o del pagamento (da verificare) e codice molto offuscato vicino al codice dell’ordine o del pagamento (da verificare). Gli indirizzi del negozio stesso, i gateway di pagamento e, per gli indizi più deboli, i server di analisi noti non vengono considerati come un altro sito. Una coincidenza è un motivo per dare un’occhiata al file, non una prova di compromissione, e un indirizzo generato dal codice durante l’esecuzione non viene rilevato.
- Stima del volume multimediale: per ogni linea di base e confronto, per ogni cartella multimediale (img, upload, uploads e download), vengono conteggiati i file e i byte già analizzati, senza accedere ad altri file né salvare dati per singolo file. La sezione “Verifiche” mostra il totale per cartella, l’incremento rispetto alla linea di base e se è stato superato un limite. La sezione “Configurazione” prevede tre limiti: numero massimo di file, dimensione massima in GB e incremento massimo rispetto alla linea di base in percentuale (50% per impostazione predefinita; 0 disattiva il limite). Se un limite viene superato, questo viene segnalato nel Riepilogo e nell’e-mail di avviso, che viene inviata anche quando nessun file è cambiato abbastanza da causarlo da solo.
- Limite di monitoraggio visibile: un’analisi legge al massimo 250.000 nomi nelle cartelle escluse, mentre le cartelle successive venivano registrate come non coperte ma venivano mostrate solo all’interno dei processi. Ora compaiono come una riga di avviso nel Riepilogo e una notifica in Controlli con il numero di cartelle non monitorate, e il volume multimediale viene contrassegnato come parziale se è stato misurato al di sotto di quel limite.
- Risolve il problema per cui la connessione con Integrity si interrompeva nel Back Office nel contesto «tutti i negozi» o quando un negozio diverso dal primo gestiva il test di registrazione: il negozio connesso passava a «registrazione in sospeso» e il test non poteva essere completato. L’identità dell’installazione ora viene letta come un’unità dall’ambito globale (o dal negozio che la conserva) in qualsiasi contesto; l’aggiornamento trasferisce all’ambito globale un’identità salvata in un negozio senza rigenerarla e, se non è possibile leggerla, lo stato di Integrity rimane invariato.
- Novità: barra dei filtri comune. La revisione delle modifiche e la cronologia dei processi la utilizzano: i selettori sono distribuiti in una griglia di larghezza uniforme, la barra di ricerca e il pulsante «Filtra» si trovano sulla stessa riga e le azioni secondarie, come l’esportazione dell’audit in CSV, sono allineate a destra. Prima i filtri erano ammucchiati e i pulsanti si sovrapponevano.
- Le e-mail di avviso, di riepilogo della manutenzione e di prova mostrano il logo del tuo negozio nell’intestazione (con il nome del negozio come testo alternativo) e un piè di pagina comune con il logo di GO ON Agency e la firma «PrestaWard by GO ON Agency», senza link né indirizzi di contatto. Il logo nel piè di pagina è un file del modulo stesso fornito dal tuo negozio.
- Corregge il problema per cui l’oggetto delle e-mail riportava due volte il nome del negozio.
- Aspetto unificato del pannello nei quattro moduli PrestaWard: intestazioni di sezione, schede dei moduli con bordi neutri e blocchi a scomparsa comuni, statistiche su un’unica riga e un logo GO ON Agency più grande nell’intestazione. Il pulsante principale assume ora un colore a tinta unita del marchio, senza sfumature.
- Corregge il fatto che, in PrestaShop 9, il tema di amministrazione mostrasse le schede sottolineate come link e i titoli delle sezioni in maiuscolo. Gli stili comuni lo neutralizzano solo all’interno del pannello di PrestaWard, quindi PrestaShop 1.7 e 8 hanno lo stesso aspetto di prima.
- Risolve il problema per cui, in PrestaShop 1.7, il foglio di stile del modulo veniva ignorato quando veniva registrato con il numero di versione nell’URL. Ora il file viene verificato e registrato senza parametri, così il nuovo aspetto appare nelle versioni 1.7, 8 e 9.
- Correzione: in PrestaShop 9, le azioni del pannello (le richieste di processo e il download del rapporto di assistenza, oltre alla sincronizzazione con Integrity) verificavano il token di sicurezza con un metodo che PrestaShop 9 non utilizza e potevano quindi essere rifiutate. Ora la convalida avviene tramite il servizio di PrestaShop 9; in PrestaShop 1.7 e 8 la verifica rimane invariata.
- Quando non è possibile aggiornare la connessione con Integrity in quel momento, il pannello mostra un unico messaggio: la connessione salvata è ancora valida e verrà riprovata automaticamente. Le etichette di tutte le schede sono tradotte nelle nove lingue.
- L’intestazione del prodotto mostra nuovamente il logo di GO ON Agency e la firma «PrestaWard by GO ON Agency», senza link. Il formato della linea di base, i byte del manifesto e il contratto con l’Integrity API non cambiano; l’aggiornamento aggiunge delle colonne (due alla tabella dei processi e quelle relative al volume multimediale per cartella, processo e linea di base).
0.1.7
- Analizza il codice sospetto dei file PHP e JavaScript nuovi o modificati (fino a 512 KB ciascuno) alla ricerca di pattern tipici delle web shell e del codice offuscato, e spiega il risultato in un linguaggio chiaro. Una corrispondenza significa «controlla questo file», non è prova di un attacco; un file senza corrispondenze non è dimostrato come sicuro, e uno che supera il limite viene contrassegnato come controllato solo in parte.
- Rileva immagini camuffate (con header errato o contenenti codice PHP) in tutte le cartelle: incluse, escluse e, entro un limite di tempo e dimensione, anche quelle temporanee come img/tmp, che l’analisi non ha ancora esaminato.
- Assegna un livello di rischio a ogni modifica (alto, da verificare o basso), visibile e filtrabile nella revisione delle modifiche e incluso nel file CSV di audit e nelle e-mail di avviso.
- Raggruppa gli aggiornamenti di moduli e temi in un unico elemento, indicando la versione precedente e quella nuova. Il codice PHP modificato all’interno di un aggiornamento rilevato presenta un rischio basso e non genera più email di avviso. Richiede una linea di base creata con questa versione.
- Nuovo pannello dei file del core: li confronta con l’elenco ufficiale dei checksum della tua versione di PrestaShop, in lotti riprendibili. Una differenza non prova un’intrusione; se l’elenco non esiste o non può essere scaricato, il pannello indica che il core non è stato verificato e non lo presenta mai come superato.
- Nuovo controllo della configurazione di sicurezza con un punteggio da 0 a 100 (modalità debug, cartella di amministrazione, permessi di configurazione, cartelle di installazione, dump e file compressi nella root del sito, versione di PHP, HTTPS ed errori PHP visibili, tra le altre cose). Ogni punto ha una spiegazione e una soluzione; ciò che non è verificabile viene indicato come «non verificato» e non viene valutato.
- Segnala un cron che non è mai stato eseguito e, con un avviso a parte, le cartelle e le copie di backup dei moduli presenti nella directory principale del sito.
- Le nuove installazioni escludono di default i backup dei moduli e la cartella dei download. Nelle installazioni esistenti queste esclusioni sono disponibili nel pannello di controllo e si applicano solo se le attivi, creando così una nuova linea di base.
- Finestra di manutenzione da 1 a 4 ore: silenzia le e-mail di avviso ma continua a registrare le modifiche e, al termine, invia un riepilogo raggruppato con le azioni «Accetta queste modifiche» o «Chiudi senza accettare». «Accetta» le contrassegna soltanto come riviste; Snapshot non crea mai una linea di base da solo.
- Quando la copertura dell’analisi aumenta tra una versione e l’altra, i file delle cartelle che la linea di base precedente non copriva vengono segnalati come nuova copertura e non come migliaia di file aggiunti con avvisi critici.
- La revisione delle modifiche funziona anche con risultati molto voluminosi: impaginazione con salto alla pagina, riepilogo raggruppato per cartella, stato e rischio, e modifiche in sospeso rispetto alle linee di base precedenti contrassegnate come sostituite.
- Riduce il tempo necessario per creare la linea di base e convalidare le directory nei negozi di grandi dimensioni con processi precedenti conservati (minuti anziché decine di minuti) ed elimina in lotti limitati le righe temporanee dei processi completati.
- Corregge diversi avvisi: Snapshot non rileva più i propri file come modifiche ad alto rischio, il file index.php, standard di protezione di PrestaShop, non viene più contrassegnato come eseguibile sospetto, «Modifiche recenti» mostra i totali dell’ultimo confronto e, dopo aver creato una linea di base, il pannello non mostra il confronto precedente come attuale.
- Il Back Office mostra «Elaborazione dalla console» mentre il processo da console è in corso; ricaricare la pagina dopo aver cliccato su un pulsante non lo riavvia e un avvio rifiutato indica quale processo è in corso. Il processo da console scrive una breve riga di avanzamento invece di una per ogni passaggio.
- Coerenza del Back Office: il pannello dei processi e i relativi pulsanti hanno lo stesso aspetto del resto del pannello, e i messaggi di stato del cron e del registro delle attività vengono visualizzati nella lingua del Back Office in tutte e nove le lingue.
- Il pannello di assistenza e diagnostica si trova proprio prima della sezione Integrity, come negli altri moduli PrestaWard, e nel contesto «tutti i negozi» non scompare più: indica che bisogna selezionare un negozio.
- I fogli di stile vengono caricati con la versione del modulo, quindi il nuovo aspetto appare dopo l’aggiornamento senza bisogno di svuotare la cache del browser.
- Sincronizza con Integrity ogni volta che apri il pannello, con una richiesta in background che non rallenta mai la pagina e al massimo una volta al minuto per ogni negozio.
0.1.6
- Un collegamento simbolico non interrompe più la scansione: viene ignorato senza che venga seguito né venga calcolata la sua impronta (quindi non fa parte della linea di base) e viene segnalato nel pannello, con un avviso quando punta fuori dal negozio o a una destinazione inesistente.
- Durante la scansione, scarta i file che non possono far parte del manifesto.
- Non scansiona mai le cartelle temporanee di PrestaShop (img/tmp e le cache delle risorse combinate del tema), che vengono rigenerate costantemente e potrebbero interrompere un’analisi con directory_changed.
- Applica le esclusioni prima di entrare in ogni cartella: le cartelle escluse non fanno più parte dell’analisi di integrità e vengono controllate solo alla ricerca di file eseguibili, in un processo separato che non interrompe mai il lavoro e che è limitato a 250.000 nomi per ogni processo.
- Rileggi fino a tre volte una cartella inclusa che cambia durante l’analisi. Se continua a cambiare, le cartelle del core, della configurazione, dell’amministrazione, dei moduli di pagamento e del tema attivo interrompono il processo come prima; il resto viene saltato con un avviso e il processo termina.
- Il cron esegue diversi lotti consecutivi per ogni chiamata (fino a circa 20 secondi) e segnala lo stato cli_required e la risposta HTTP 409 quando un processo richiede il processo da riga di comando. Uno strumento di monitoraggio che considera come errore qualsiasi risposta diversa da 2xx lo segnalerà, come ci si aspetta. Questo processo viene eseguito manualmente dall’amministratore del server: il modulo non lo avvia mai da solo.
- Rafforza il blocco che impedisce l’esecuzione simultanea del cron, anche se le prime due esecuzioni coincidono.
- Sposta i file temporanei del manifesto in una directory privata all’interno del negozio, compatibile con open_basedir e con la pulizia della directory temporanea di sistema. In Nginx è consigliabile bloccare l’accesso a var/prestaward-snapshot/.
- Rileva le tabelle che non usano InnoDB, mostra un messaggio chiaro nelle nove lingue e converte le tabelle del modulo durante l’aggiornamento, registrando ogni conversione.
- Aggiunge un pannello di controllo dello stato nel Back Office, in sola lettura: cartella privata di preparazione, motore di archiviazione del database, frequenza del cron e processi in attesa di elaborazione da riga di comando.
- Corregge i totali del report dei processi: i link vengono conteggiati separatamente dai file esclusi.
- Ogni modulo viene analizzato una sola volta, nell’ambito dei pagamenti o in quello dei moduli, quindi un modulo che non è un gateway di pagamento e che subisce modifiche durante l’analisi non blocca più il processo.
- Se un processo non riesce a coprire completamente una cartella, lo snapshot viene visualizzato con copertura parziale e il confronto contrassegna come «non verificati», anziché eliminati, i file di quelle cartelle.
- Il pannello dei processi indica le cartelle interessate da ogni tipo di avviso e cosa fare, nelle nove lingue. La disinstallazione elimina anche le tabelle dei processi.
- PrestaShop 9: il processo da riga di comando e il cron non danno più errore quando confondono la cartella admin-api del core con quella del Back Office.
- Quando il processo da riga di comando fallisce, termina con una riga di diagnostica contenente un codice di motivo fisso, senza percorsi né messaggi interni.
- Riduce i costi di analisi nei negozi con molti file.
- PHP 7.1 e 7.2: la registrazione, l’attestazione e l’heartbeat di Integrity non vengono più interrotti da un errore di sintassi.
- Corregge l’aggiornamento dalla versione 0.1.5 in cui mancava la tabella degli snapshot.
- Testato in laboratorio su PrestaShop 1.7, 8 e 9, compreso un test con 300.000 file che cambiano durante l’analisi.
0.1.5
- Ripristina i tentativi automatici di attestazione di Integrity, gli heartbeat in sospeso e la conservazione dopo le risposte del cron asincrono. La manutenzione viene eseguita in lotti limitati ed è coordinata separatamente dall’avanzamento della scansione.
- Se una versione precedente includeva diverse cartelle di amministrazione, il prossimo confronto potrebbe mostrare voci aggiuntive: controlla le differenze e crea una nuova linea di base quando necessario, senza cancellare automaticamente quella precedente.
- Consente nomi di file validi con punti consecutivi e mantiene la protezione contro i percorsi non sicuri.
- Conserva tutti i file delle cartelle di amministrazione aggiuntive senza confonderli con quelli del Back Office attivo.
- Salva lo stato di avanzamento delle linee di base e dei confronti per poter continuare dopo aver chiuso il pannello o interrotto una richiesta.
- Elabora e verifica i file in lotti; i risultati vengono visualizzati solo al termine del processo e, in caso di annullamento o errore, viene mantenuta l’ultima linea di base valida.
- Corregge il confronto dei file di amministrazione con le linee di base precedenti e mantiene le esclusioni delle cartelle deselezionate.
- Aggiunge un rapporto diagnostico scaricabile da allegare manualmente a una richiesta di assistenza, senza inviare dati automaticamente. Viene scaricato solo da un dipendente con autorizzazione di modifica e con un negozio selezionato, e non include percorsi, contenuti dei file né credenziali.
- Completa gli stati del pannello, gli avvisi e i modelli di avviso in nove lingue.
- Mantiene le correzioni relative alla registrazione e all’aggiornamento della versione 0.1.4.
0.1.4
- Corregge gli errori di registrazione di Integrity in PrestaShop 9 e mantiene la registrazione esistente quando si aggiornano i negozi senza multistore.
- Ripristina i tentativi automatici di registrazione e registra la causa effettiva degli errori.
- Aggiorna il design standard del Back Office e aggiunge informazioni sul trattamento dei dati.
- Adatta i formati dei numeri e delle durate alla lingua dell’amministratore e traduce gli stati e le etichette del pannello.
- Corregge l’avanzamento della versione installata durante l’aggiornamento.
- Prepara il pacchetto AFL-3.0 per Addons: rimuove il controllo degli aggiornamenti e calcola l’identità in base ai file installati.
0.1.3
- Patch di sicurezza: la scansione ora copre l’intera installazione di PrestaShop, comprese le cartelle
override,src,vendor,upload,download,img,jse i file nella directory principale. - Patch di sicurezza: i file rilevanti per la sicurezza vengono sempre monitorati, indipendentemente dalla loro estensione.
- Patch di sicurezza: rafforza la verifica delle attestazioni remote e blocca i tentativi automatici quando cambia la chiave di registrazione del negozio.
0.1.2
- Heartbeat automatico senza cron, attivato in modo non bloccante dal normale traffico del negozio.
- La richiesta del browser rimane nello stesso dominio e le credenziali di Integrity vengono utilizzate esclusivamente sul server.
- Blocco per negozio, intervallo di sei ore e tempo di attesa dopo gli errori per evitare duplicati.
- Anche la sincronizzazione manuale di Integrity aggiorna la presenza dell’installazione.
0.1.1
- Heartbeat di Integrity e monitoraggio dello stato di salute del cron.
- Hashing incrementale sicuro con revisione completa periodica e aree critiche sempre ricalcolate.
- Classificazione delle modifiche di routine, sospette e critiche.
- Filtri, paginazione, revisione con note ed esportazione CSV dell’audit.
- Differenze nei metadati senza memorizzazione dei contenuti e conservazione con pulizia protetta.
- Dashboard visivamente allineato all’ecosistema PrestaWard.
0.1.0
- Registrazione automatica e non bloccante in PrestaWard Integrity API.
- Coda locale con tentativi ripetuti per attestare ogni manifesto senza inviare file né contenuti.
- Ricevute remote firmate, concatenate e verificate all’interno del negozio.
- Stato della connessione e della consegna visibile dalla Dashboard.
0.0.9
- Link di aiuto contestuale dai campi di configurazione alla guida pubblica.
- Guida pubblica riorganizzata per obiettivo e ambito, con spiegazioni pratiche per ogni impostazione.
- È stata rimossa dalle impostazioni la visualizzazione ridondante della fonte degli aggiornamenti.
0.0.8
- Esclusioni configurabili per nome esatto e percorso relativo, con politica immutabile e hash SHA-256.
- È obbligatorio visualizzare l’anteprima prima di attivare una politica e creare la tua nuova linea di base.
- Blocco dei confronti tra politiche diverse.
- Monitoraggio non configurabile di file eseguibili e di configurazione all’interno delle zone escluse.
- Rilevamento mirato di header PHP e interpreti pericolosi in file con estensioni ingannevoli.
- Verifica completa su PrestaShop 1.7, 8 e 9, compreso un test misto con 100.000 file.
0.0.7
- Identità completa del prodotto e del modulo tecnico rinominata in PrestaWard Snapshot.
- Accesso iniziale limitato al profilo amministratore.
- Autorizzazione esplicita di profili aggiuntivi tramite i permessi nativi di PrestaShop.
- Separazione della lettura, creazione di snapshot e configurazione tramite i permessi READ, CREATE e UPDATE.
- Nascondi le impostazioni, i token cron e le azioni sensibili per i profili in sola lettura.
- Documentazione chiarita: il modulo monitora l’integrità, ma non salva né ripristina copie di backup.
0.0.6
- Link a prodotti, guida, fornitore e assistenza che rimangono attivi anche dopo un’installazione pulita.
- Aggiornamento dei metadati dal manifest pubblico.
- Loghi di GO ON Agency collegati nel Back Office e nelle e-mail.
- URL alternativo visibile nelle e-mail in formato HTML e testo semplice.
- Azione di email di prova e strumenti di rilascio riproducibili.
0.0.5
- Autoload del controller legacy corretto.
- Accesso spostato nella sezione principale PrestaWard Snapshot.
0.0.4
- Menu del Back Office cliccabile.
- Convalida completa del ciclo pulito di installazione e disinstallazione.
0.0.3
- Contesto multistore esplicito.
- Compatibilità con le proprietà dinamiche in PHP 8.5.
0.0.2
- Ruoli di autorizzazione e permessi di accesso espliciti.
0.0.1
- Linea di base, confronto, avvisi, cron, log, verifica degli aggiornamenti e dashboard iniziale.