PS PrestaShop Intermedio

Registro di audit del back-office — Guida completa

Installare, configurare e gestire il registro di audit del back-office: tracciabilità di creazioni/modifiche/eliminazioni con diff prima/dopo, tracciamento degli accessi, mascheramento dei campi sensibili, conservazione ed esportazione CSV per PrestaShop 8 e 9.

Aggiornato Versione del modulo 1.0.0

Panoramica

Il modulo Registro di audit del back-office registra chi ha modificato cosa e quando nel tuo back-office PrestaShop. Per ogni creazione, modifica o eliminazione, conserva il dipendente coinvolto, il suo profilo, l’indirizzo IP, il controller, il metodo HTTP, l’URL, l’orario e — per le modifiche — il dettaglio campo per campo (valore precedente → nuovo valore). Registra inoltre l’inizio di sessione di ogni dipendente e, su PrestaShop 8, i tentativi di accesso falliti e le disconnessioni.

Il modulo si basa esclusivamente sugli hook nativi di ObjectModel e non effettua alcun override del core. È compatibile con PrestaShop 8 e 9, in modalità singolo e multi-negozio, e multilingua.

Il registro è progettato per la sicurezza e la conformità al GDPR: fornisce una traccia di audit affidabile (responsabilizzazione e tracciabilità dei trattamenti) senza alterare il funzionamento del tuo negozio.

Installazione

  1. Dal back-office, apri Moduli > Gestore dei moduli.
  2. Clicca su Carica un modulo e rilascia l’archivio ZIP del modulo.
  3. Al termine dell’installazione, clicca su Configura.

All’installazione, il modulo crea due tabelle dedicate (il registro e il dettaglio dei campi modificati), registra i suoi hook e aggiunge la voce di menu Parametri avanzati > Registro di audit. Non è richiesta alcuna configurazione per iniziare: un insieme pertinente di entità è già attivo per impostazione predefinita.

Funzionamento

Il modulo è in ascolto sugli hook generici di ObjectModel presenti in PrestaShop 8 e 9 (creazione, modifica ed eliminazione di oggetti) nonché sull’hook di visualizzazione del back-office. A ogni operazione su un’entità monitorata:

  • identifica il dipendente connesso, il suo profilo e il negozio attivo;
  • per una modifica, confronta lo stato prima e dopo e registra solo i campi realmente cambiati;
  • per una creazione o un’eliminazione, registra (facoltativamente) tutti i campi dell’oggetto;
  • scrive la voce direttamente nel database.

Le scritture avvengono in SQL diretto, senza ripassare per ObjectModel: non c’è quindi alcun rischio di ricorsione degli hook, e l’audit non può mai interrompere un’operazione di business.

Configurazione

Entità monitorate

Seleziona le entità da tracciare, raggruppate per dominio: Catalogo (prodotti, categorie, produttori, fornitori, combinazioni, prezzi specifici, immagini, stock…), Clienti e ordini (ordini, stati dell’ordine, clienti, indirizzi, gruppi, regole del carrello), Spedizione e localizzazione (corrieri, paesi, zone, valute, imposte), Contenuti (pagine e categorie CMS, metadati) e Amministrazione e sicurezza (dipendenti, profili, chiavi webservice, negozi, configurazione).

Vengono registrate solo le entità selezionate. Per impostazione predefinita è attivo un insieme pertinente e poco verboso; la Configurazione è disattivata per impostazione predefinita perché molto verbosa.

Tracciare gli accessi al BO

Quando questa opzione è attiva, il modulo registra l’inizio di sessione di ogni dipendente. Su PrestaShop 8, registra anche i tentativi di accesso falliti (con l’email inserita) e le disconnessioni.

Su PrestaShop 9, la pagina di login è gestita da Symfony: gli accessi riusciti vengono tracciati, ma i fallimenti e le disconnessioni sulla schermata di login non vengono catturati. Tutte le modifiche ai dati restano tracciate su entrambe le versioni.

Conservare il dettaglio di creazioni/eliminazioni

Attiva la registrazione di tutti i campi in una creazione o un’eliminazione. Disattiva questa opzione per conservare solo l’evento (chi, cosa, quando) senza il dettaglio completo dell’oggetto.

Tracciare anche le azioni al di fuori del back-office

Per impostazione predefinita, vengono registrate solo le azioni eseguite da un dipendente connesso al back-office. Attiva questa opzione per tracciare anche le modifiche attivate nel front-office, da un task CRON o tramite il webservice. Il volume di voci può allora aumentare sensibilmente.

Conservazione

Definisci il periodo di conservazione in giorni (365 per impostazione predefinita). Una pulizia automatica giornaliera rimuove le voci più vecchie. Imposta il valore a 0 per una memorizzazione illimitata.

Dipendenti esclusi

Inserisci gli identificatori dei dipendenti (separati da virgole) le cui azioni non devono essere tracciate — ad esempio un account tecnico di integrazione.

Limiti di volume

Due impostazioni proteggono il database: il numero massimo di campi memorizzati per voce e la lunghezza massima di un valore (oltre la quale il valore viene troncato). Una protezione interna limita inoltre il numero di voci scritte per richiesta per preservare le prestazioni durante le importazioni di massa.

Consultare il registro

Vai su Parametri avanzati > Registro di audit. L’elenco mostra, per ogni voce: la data, il tipo di azione (badge colorato), l’entità, l’identificatore e l’etichetta dell’oggetto, il numero di campi modificati, il dipendente, il profilo, l’indirizzo IP e il controller. Puoi filtrare e ordinare in base a queste colonne.

Vista dettagliata

Clicca su una voce per aprire la sua vista dettagliata. Mostra il contesto completo (dipendente, IP, controller, metodo, URL, User-Agent) e, per una modifica, una tabella delle differenze campo per campo: il valore precedente (su sfondo rosato, barrato) e quello nuovo (su sfondo verdognolo).

Sicurezza dei dati sensibili

I campi sensibili non vengono mai memorizzati in chiaro. Ogni campo il cui nome contiene un termine sensibile (password, secure_key, token, chiave API, chiave webservice…) viene automaticamente sostituito con asterischi. Il registro indica che un campo sensibile è cambiato senza rivelarne il valore.

Conformità, conservazione ed esportazione

Il registro conserva il nome del dipendente anche dopo la sua eliminazione, garantendo una traccia di audit duratura. Dalla schermata del registro, il pulsante Esporta in CSV genera un file UTF-8 (compatibile con Excel) che include tutte le colonne: data, azione, entità, oggetto, dipendente, profilo, IP, controller, metodo e URL. Il pulsante Pulisci rimuove tutte le voci (azione riservata ai profili con il permesso di eliminazione).

L’esportazione CSV è ideale per fornire le tue prove di audit a un DPO, un revisore o un responsabile della sicurezza.

Disinstallazione

La disinstallazione rimuove le tabelle del registro, l’intera cronologia, gli hook e la voce di menu. Questa operazione è definitiva: ricordati di esportare il registro in anticipo se devi conservarne una traccia.

FAQ

Il modulo rallenta il back-office?

L’impatto è minimo: scritture in SQL diretto, filtraggio per entità e protezione di volume. Puoi ridurre ulteriormente il carico limitando le entità monitorate.

Le password vengono memorizzate?

No. I campi sensibili vengono mascherati con asterischi prima della memorizzazione.

Il modulo modifica il core di PrestaShop?

No, nessun override. Il modulo utilizza esclusivamente gli hook ufficiali di ObjectModel e un autoloader interno.

Le azioni del front-office vengono tracciate?

Per impostazione predefinita no: il registro si concentra sulle azioni dei dipendenti nel back-office. Puoi attivare il tracciamento delle azioni di front-office, CRON e webservice nella configurazione.

Il modulo è compatibile con PrestaShop 9?

Sì, compatibile con PrestaShop 8.x e 9.x, in modalità singolo e multi-negozio e multilingua.

Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza