- Codice monouso (TOTP)
- Un accesso che non intralcia il team
- Profili obbligatori e periodo di tolleranza
- La mia autenticazione a due fattori e la dashboard
- Registro di sicurezza
- Accesso di emergenza
- Licenza e aspetti tecnici
- Proteggere gli account critici in una settimana
- Una postazione fissa
- Una postazione condivisa o un accesso sensibile
- Un telefono perso
- A cosa serve l’autenticazione a due fattori (2FA) nel back-office?
- Quale tipo di 2FA viene utilizzato (SMS, e-mail, applicazione)?
- Quali applicazioni sono compatibili (Google Authenticator, Authy, Microsoft...)?
- È possibile forzare la 2FA solo per determinati profili (es. SuperAdmin)?
- Come evitare di rallentare il team con un codice a ogni accesso?
- Cosa succede se un collaboratore perde il telefono?
- Quali metodi di recupero di emergenza sono disponibili?
- Il modulo protegge dagli attacchi brute force?
- Esiste una cronologia degli accessi e degli eventi di sicurezza?
- Il controllo protegge anche i moduli e le chiamate AJAX del back office?
- Cosa succede alla 2FA se la licenza scade?
- Quali versioni di PrestaShop e di PHP sono supportate e come aggiornare dalla versione 1.0.0?
- La disinstallazione elimina i dati?
- È possibile disattivare la 2FA per tutto il negozio?
- Il modulo modifica il tema o l’aspetto del negozio?
- I dati della 2FA sono protetti?
- Un dispositivo attendibile è sicuro?
- Il codice non viene mai accettato
- Non riesco più ad aprire il back office
- Il codice viene richiesto troppo spesso
- Il link «La mia autenticazione a due fattori» non compare
- Dopo un’installazione da riga di comando, il controllo non sembra applicato
- La pagina delle impostazioni segnala script da eliminare
- Un dipendente non riesce più a convalidare il codice dopo una migrazione del negozio
Two-Factor Authentication (2FA) — Autenticazione a due fattori per il back office
Two-Factor Authentication (2FA) aggiunge un secondo passaggio all’accesso al back office di PrestaShop: dopo la password, ogni dipendente inserisce il codice a 6 cifre di un’app di autenticazione installata sul telefono (TOTP). Con una password rubata, nessuna pagina, nessun modulo e nessuna chiamata AJAX del back office viene eseguita senza quel codice.
Il modulo cerca l’equilibrio tra sicurezza e comodità: un dispositivo attendibile ricordato per 30 giorni, una sessione verificata di 12 ore, profili obbligatori con periodo di tolleranza, una dashboard e un registro per i super amministratori, e più vie di recupero se si perde un telefono.
Punti di forza:
- Codici TOTP compatibili con Google Authenticator, Microsoft Authenticator, Authy, 1Password e Bitwarden
- Un codice al mese e per browser: dispositivo attendibile di 30 giorni, indipendente dall’indirizzo IP (regolabile)
- Sessione verificata di 12 ore (regolabile), terminata alla disconnessione
- 2FA obbligatoria per profilo, con periodo di tolleranza e avviso di segnalazione
- «La mia autenticazione a due fattori» per ogni dipendente; dashboard, registro, reimpostazione e sblocco per i super amministratori
- 10 codici di recupero per dipendente, reimpostazione da parte di un amministratore, file
DISABLE_2FAe comando da console di emergenza - Blocco dopo codici errati, salvato nel database
- La licenza non disattiva mai la protezione
- Interfaccia in francese, inglese, spagnolo, italiano e polacco, senza override né librerie PHP di terze parti
Panoramica
Una password da sola non basta più a proteggere l’amministrazione di un negozio online: phishing, fughe di dati, password riutilizzate o condivise. Eppure il back office dà accesso a prezzi, ordini, file dei clienti e creazione di account amministratore.
Con Two-Factor Authentication (2FA):
- Il dipendente inserisce login e password come al solito.
- Una pagina del codice autonoma, senza menu né link del back office, chiede il codice a 6 cifre della sua app.
- Il codice viene verificato prima di qualsiasi azione del back office. Se la casella Ricorda questo dispositivo è selezionata, questo browser non richiede il codice per 30 giorni; altrimenti la verifica resta valida 12 ore.
Il controllo riguarda le pagine, i moduli (POST) e le chiamate AJAX o JSON: con la sola password, una pagina viene reindirizzata alla pagina del codice e una chiamata AJAX riceve una risposta 401 senza dati. Limite noto su PrestaShop 1.7: tre vecchi script autonomi di PrestaShop sfuggono al controllo (vedi «Risoluzione dei problemi»).
Funzionalità
Codice monouso (TOTP)
- Standard TOTP (RFC 6238): codice a 6 cifre rinnovato ogni 30 secondi, generato offline dall’app
- Compatibile con Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden e qualsiasi app TOTP
- Un codice è accettato una sola volta; l’orologio del telefono può essere sfasato di un periodo di 30 secondi
- Il codice parte appena viene digitata la sesta cifra
- Segreti salvati in un formato cifrato e autenticato; codici di recupero conservati come hash
Un accesso che non intralcia il team
- Dispositivo attendibile: un cookie per dipendente e per browser (HttpOnly, SameSite=Lax), valido 30 giorni per impostazione predefinita qualunque sia l’indirizzo IP; collegamento all’indirizzo IP opzionale
- Sessione verificata: il codice inserito resta valido 12 ore per impostazione predefinita (da 1 a 168 ore); la disconnessione lo annulla
- La casella «Ricorda questo dispositivo» è selezionata per impostazione predefinita (regolabile)
- Ogni dipendente vede i propri dispositivi (browser, sistema, ultimo utilizzo, validità) e rimuove quelli che non usa più; al massimo 20 dispositivi per dipendente
Profili obbligatori e periodo di tolleranza
- Scelta dei profili per cui la 2FA è obbligatoria (per esempio SuperAdmin); gli altri dipendenti la attivano liberamente
- Periodo di tolleranza di 7 giorni per impostazione predefinita, conteggiato dal giorno in cui il profilo diventa obbligatorio: durante questo periodo, un avviso indica i giorni rimasti e il dipendente può scegliere «Non ora»
- Terminato il periodo, il dipendente viene inviato alla pagina di configurazione e non può aprire il back office finché non l’ha completata
La mia autenticazione a due fattori e la dashboard
- Ogni dipendente gestisce la propria 2FA da «La mia autenticazione a due fattori»: attivare, cambiare telefono, creare nuovi codici di recupero, gestire i dispositivi attendibili e, fuori da un profilo obbligatorio, disattivare
- I super amministratori dispongono di una dashboard: numero di dipendenti, dipendenti protetti, configurazioni obbligatorie in sospeso, account bloccati, e una tabella con profilo, stato, codici di recupero rimasti, dispositivi e ultimo codice inserito di ciascuno
- Reimpostare (telefono perso) o sbloccare un collega si fa dalla tabella, confermando con il proprio codice
Dashboard dei dipendenti
Registro di sicurezza
- Codici accettati o errati, codici di recupero usati, blocchi e sblocchi, cambi di telefono, nuovi codici di recupero, dispositivi aggiunti o rimossi, reimpostazioni, disattivazioni
- Filtro per dipendente, paginazione, indirizzo IP e dettaglio di ogni riga; nessun codice né segreto viene registrato
- Eliminazione automatica una volta al giorno (90 giorni per impostazione predefinita)
Accesso di emergenza
- 10 codici di recupero monouso per dipendente
- Reimpostazione da parte di un super amministratore dalla dashboard
- Comando da console
wepresta:2fa:disable(un dipendente o tutto il negozio, con simulazione) - File
DISABLE_2FAnella cartella del modulo: sospende la richiesta del codice per tutti finché esiste, con un avviso rosso per i super amministratori
Licenza e aspetti tecnici
- La licenza non disattiva mai la protezione: alla scadenza vengono bloccate solo le impostazioni e la dashboard
- Nessun override del nucleo di PrestaShop, nessuna libreria PHP di terze parti, archivio di meno di 250 KB
- Interfaccia disponibile in francese, inglese, spagnolo, italiano e polacco
Requisiti
- PrestaShop: 1.7.8, 8.2+ o 9.1+. PrestaShop 1.7.7, 8.0, 8.1 e 9.0 non sono supportati.
- PHP: 7.4 minimo, in una versione supportata dal tuo PrestaShop, con le estensioni
json,opensslembstring. - Un’app di autenticazione sul telefono di ogni dipendente interessato (Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden o equivalente) e l’ora del telefono impostata in automatico.
- HTTPS consigliato per il back office.
Installazione
Metodo 1 — dal back office (consigliato)
- Scarica l’archivio dalla tua area cliente WePresta
- Vai in Moduli > Gestione moduli
- Clicca su Carica un modulo
- Seleziona l’archivio ZIP scaricato
- Attendi la fine dell’installazione, poi clicca su Configura e attiva la licenza
Metodo 2 — via FTP
- Decomprimi l’archivio ZIP
- Carica la cartella
wepresta_admin_2fa/in/modules/ - Nel back office: Moduli > Gestione moduli
- Cerca il modulo e clicca su Installa
- Clicca su Configura e attiva la licenza
Cosa fa l’installazione
- Crea le tabelle del modulo (registrazioni, dispositivi attendibili, registro)
- Registra gli hook necessari e apre la pagina del codice e «La mia autenticazione a due fattori» a tutti i profili, compresi quelli creati in seguito; la dashboard resta riservata ai super amministratori
- Inizializza le impostazioni: 2FA attiva, nessun profilo obbligatorio
Nota: finché non hai scelto un profilo obbligatorio, nessuno è obbligato a configurare la 2FA. Ogni dipendente può attivarla da solo; la pagina delle impostazioni e la dashboard ti avvisano se il tuo account non è ancora protetto.
Aggiornamento dalla versione 1.0.0
- Esegui il backup del negozio (file e database).
- Carica l’archivio 2.0.0 in Moduli > Gestione moduli: PrestaShop avvia l’aggiornamento.
- Le registrazioni, i codici di recupero, il registro e le tue impostazioni vengono conservati. I file non più necessari della versione 1.0.0 vengono eliminati.
- I dispositivi attendibili della versione 1.0.0 non vengono più riconosciuti: ogni dipendente inserisce il codice una volta per browser.
- Il periodo di tolleranza dei profili già obbligatori riparte dal giorno dell’aggiornamento.
- Se il controllo della licenza della versione 1.0.0 aveva disattivato il modulo, l’aggiornamento lo riattiva.
- Apri le impostazioni, controlla i profili obbligatori e le durate, poi verifica il tuo accesso.
Configurazione
Accesso: Moduli > Gestione moduli > Configura. I pulsanti La mia autenticazione a due fattori e Apri la dashboard si trovano nello stesso riquadro.
Impostazioni
- Attiva l’autenticazione a due fattori: se disattivata, a nessuno viene chiesto un codice; le registrazioni vengono conservate
- Obbligatoria per questi profili: profili per cui la 2FA è obbligatoria
- Periodo di tolleranza: da 0 a 365 giorni (7 per impostazione predefinita), conteggiato dal giorno in cui il profilo diventa obbligatorio
- Ricorda un dispositivo per: da 0 a 365 giorni (30 per impostazione predefinita); 0 disattiva i dispositivi attendibili
- Seleziona «ricorda questo dispositivo» per impostazione predefinita: preseleziona la casella nella pagina del codice
- Collega un dispositivo attendibile al suo indirizzo IP: controllo più rigoroso, il codice viene richiesto di nuovo a ogni cambio di indirizzo
- Richiedi di nuovo il codice dopo: da 1 a 168 ore (12 per impostazione predefinita), durata della sessione verificata
- Codici errati prima del blocco: da 1 a 20 (5 per impostazione predefinita)
- Durata del blocco: da 1 a 1440 minuti (15 per impostazione predefinita)
- Nome mostrato nell’app di autenticazione: il nome del negozio per impostazione predefinita
- Conserva il registro per: da 7 a 3650 giorni (90 per impostazione predefinita); gli eventi più vecchi vengono eliminati automaticamente
Licenza
Attiva la licenza nelle impostazioni del modulo. Senza licenza attiva, la 2FA resta applicata, ma le impostazioni e la dashboard sono bloccate dietro il modulo di licenza; un avviso invita a rinnovarla. Attivare o rinnovare la licenza riapre le impostazioni.
Attivare la tua 2FA (dipendente)
- Apri La mia autenticazione a due fattori nel menu del tuo profilo (in alto a destra nel back office), poi clicca su Configura.
- Installa un’app di autenticazione sul tuo telefono se non l’hai già fatto.
- Inquadra il codice QR con l’app. Sul telefono stesso, usa Apri nell’app su questo telefono; altrimenti digita la chiave mostrata sotto il codice QR.
- Inserisci il codice mostrato dall’app per confermare, poi clicca su Attiva l’autenticazione a due fattori.
- Conserva i tuoi 10 codici di recupero (copia, scarica o stampa), poi clicca su Ho salvato i miei codici di recupero. Non verranno più mostrati.
Durante il periodo di tolleranza di un profilo obbligatorio, un avviso propone di configurare la 2FA; poi la pagina di configurazione si apre da sola. Un errore di digitazione non cambia il codice QR.
Configurazione in tre passaggi
A ogni accesso
Dopo la password, inserisci il codice a 6 cifre; parte appena digiti la sesta cifra. Seleziona Ricorda questo dispositivo per non inserirlo più su questo browser per 30 giorni. Con un codice di recupero, clicca su Usa un codice di recupero.
Pagina del codice dopo la password
Gestire la tua 2FA
La pagina La mia autenticazione a due fattori permette di:
- cambiare telefono (Cambia telefono): viene chiesto un codice dell’app attuale (o un codice di recupero), poi la configurazione ricomincia
- creare nuovi codici di recupero (Crea nuovi codici di recupero): viene chiesto un codice e i codici precedenti vengono annullati; compare un avviso quando ne restano pochi
- rimuovere un dispositivo attendibile o tutti i dispositivi (Rimuovi tutti i dispositivi)
- disattivare l’autenticazione a due fattori (Disattiva l’autenticazione a due fattori), a meno che il tuo profilo sia obbligatorio
La mia 2FA: codici di recupero e dispositivi attendibili
Gestione del team (dashboard)
Accesso: Moduli > Gestione moduli > Configura, pulsante Apri la dashboard (solo super amministratori).
- I quattro contatori indicano il numero di dipendenti, di dipendenti protetti, di configurazioni obbligatorie non completate e di account bloccati.
- La scheda Dipendenti mostra per ciascuno: profilo, stato (Protetto, Obbligatoria entro il …, Obbligatoria, da configurare ora o Disattivata), codici di recupero rimasti, dispositivi e ultimo codice inserito.
- Reimposta rimuove la 2FA di un dipendente che ha perso il telefono; la configura di nuovo al successivo accesso. Sblocca gli permette di riprovare subito.
- Ogni azione chiede il tuo codice attuale (o un codice di recupero) in un riquadro di conferma e viene scritta nel registro.
- La scheda Registro elenca gli eventi, con un filtro per dipendente.
Accesso di emergenza
Dal più semplice al più radicale:
- Codice di recupero: il dipendente inserisce uno dei suoi 10 codici nella pagina del codice.
- Reimpostazione da parte di un altro super amministratore dalla dashboard.
- Comando da console, dalla cartella del negozio:
php bin/console wepresta:2fa:disable --employee=ID_O_EMAILrimuove la 2FA di un dipendentephp bin/console wepresta:2fa:disable --alldisattiva la protezione per tutto il negozio- l’opzione
--dry-runsimula senza modificare nulla
- File
DISABLE_2FA: crea un file vuoto con questo nome inmodules/wepresta_admin_2fa/. A nessuno viene chiesto un codice finché esiste; un avviso rosso lo ricorda ai super amministratori. Eliminalo per ripristinare la protezione.
Per avviare su richiesta l’eliminazione del registro e dei dispositivi scaduti: php bin/console wepresta:2fa:purge.
Casi d’uso comuni
Proteggere gli account critici in una settimana
Scegli il profilo SuperAdmin (e quelli che accedono a pagamenti o esportazioni) in Obbligatoria per questi profili, mantieni il periodo di tolleranza di 7 giorni, poi segui l’adozione nella dashboard.
Una postazione fissa
Il dispositivo attendibile di 30 giorni limita l’inserimento a un codice al mese e per browser, qualunque sia l’indirizzo IP.
Una postazione condivisa o un accesso sensibile
Imposta a 0 la durata dei dispositivi attendibili: la casella «Ricorda questo dispositivo» scompare e il codice viene richiesto di nuovo dopo la durata della sessione verificata (12 ore per impostazione predefinita, riducibile). Puoi anche collegare i dispositivi all’indirizzo IP per un controllo più rigoroso.
Un telefono perso
Il dipendente usa un codice di recupero, oppure un super amministratore clicca su Reimposta nella dashboard.
FAQ
A cosa serve l’autenticazione a due fattori (2FA) nel back-office?
La 2FA aggiunge una seconda verifica all’accesso all’amministrazione. Anche se una password viene rubata (phishing, fuga di dati, password riutilizzata), il back office resta chiuso senza il codice temporaneo generato sul telefono del dipendente. È una protezione diretta contro la presa di controllo di un negozio: modifica dei prezzi, dirottamento degli ordini, creazione di account amministratore o esportazione dei dati dei clienti.
Quale tipo di 2FA viene utilizzato (SMS, e-mail, applicazione)?
Il modulo usa lo standard TOTP (Time-based One-Time Password, RFC 6238): un codice a 6 cifre che cambia ogni 30 secondi, generato da un’app di autenticazione. Non servono SMS (costi, recapito) né e-mail (casella compromessa), e il codice si genera senza connessione di rete. Un telefono con l’orologio sfasato di un periodo di 30 secondi è comunque accettato; un codice funziona una sola volta.
Quali applicazioni sono compatibili (Google Authenticator, Authy, Microsoft...)?
Tutte le app TOTP: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden e le loro equivalenti. Ogni dipendente usa l’app che preferisce, senza strumenti proprietari imposti. Il codice QR si inquadra con l’app; su un telefono, il pulsante «Apri nell’app» o la digitazione della chiave di configurazione evitano la scansione.
È possibile forzare la 2FA solo per determinati profili (es. SuperAdmin)?
Sì. Nelle impostazioni scegli i profili per cui la 2FA è obbligatoria, per esempio SuperAdmin e i profili che accedono a pagamenti, moduli o esportazioni. Gli altri dipendenti possono attivarla da soli da «La mia autenticazione a due fattori». Un periodo di tolleranza (7 giorni per impostazione predefinita) lascia il tempo di attrezzarsi: decorre dal giorno in cui il profilo diventa obbligatorio e un avviso indica i giorni rimasti.
Come evitare di rallentare il team con un codice a ogni accesso?
Due meccanismi si sommano. Il dispositivo attendibile ricorda un browser per 30 giorni (regolabile), qualunque sia l’indirizzo IP: il dipendente inserisce un codice al mese e per browser, con la casella «Ricorda questo dispositivo» selezionata per impostazione predefinita. Su un browser non ricordato, la verifica resta valida 12 ore (regolabile da 1 a 168 ore): un solo codice per giornata di lavoro. La disconnessione o la rimozione del dispositivo da «La mia autenticazione a due fattori» richiede di nuovo il codice. Puoi anche collegare un dispositivo al suo indirizzo IP per un controllo più rigoroso.
Cosa succede se un collaboratore perde il telefono?
Accede con uno dei suoi 10 codici di recupero (monouso), poi configura la nuova app con «Cambia telefono». Se non ha più codici, un super amministratore apre la dashboard, fa clic su «Reimposta» sulla sua riga e conferma con il proprio codice: la 2FA del dipendente viene rimossa e la configura di nuovo al successivo accesso. Ogni reimpostazione viene scritta nel registro.
Quali metodi di recupero di emergenza sono disponibili?
Quattro vie, dalla più semplice alla più radicale: il codice di recupero del dipendente; la reimpostazione da parte di un altro super amministratore; il comando da console wepresta:2fa:disable (opzione --employee con l’ID o l’e-mail del dipendente, oppure --all per tutto il negozio, e --dry-run per simulare); il file vuoto DISABLE_2FA collocato nella cartella del modulo, che sospende la richiesta del codice per tutti finché esiste. Un avviso rosso ne ricorda la presenza ai super amministratori.
Il modulo protegge dagli attacchi brute force?
Blocca il secondo passaggio: dopo 5 codici errati (regolabile da 1 a 20), il dipendente viene bloccato per 15 minuti (regolabile da 1 a 1440 minuti). Il blocco è salvato nel database: riconnettersi con la password non azzera il contatore. Un codice è accettato una sola volta. Il modulo non limita i tentativi di password.
Esiste una cronologia degli accessi e degli eventi di sicurezza?
Sì. Il registro della dashboard, riservato ai super amministratori, elenca con data, dipendente, indirizzo IP e dettaglio: codici accettati o errati, codici di recupero usati, blocchi e sblocchi, cambi di telefono, nuovi codici di recupero, dispositivi aggiunti o rimossi, reimpostazioni e disattivazioni. Si filtra per dipendente e non contiene mai un codice né un segreto. Le righe più vecchie di 90 giorni (regolabile da 7 a 3650 giorni) vengono eliminate automaticamente.
Il controllo protegge anche i moduli e le chiamate AJAX del back office?
Sì. Il codice viene verificato prima che il back office esegua qualsiasi cosa: pagine, moduli (POST), chiamate AJAX e JSON, pagine senza menu. Con la sola password, una pagina viene reindirizzata alla pagina del codice e una chiamata AJAX riceve una risposta 401 senza dati. Limite noto su PrestaShop 1.7: i vecchi script autonomi backup.php, pdf.php e get-file-admin.php rispondono a un dipendente connesso senza passare dal nucleo di PrestaShop; la pagina delle impostazioni lo segnala e invita a eliminarli.
Cosa succede alla 2FA se la licenza scade?
Resta applicata. La licenza non disattiva mai la protezione: alla scadenza (fine della prova, scadenza, licenza sospesa o errore del server delle licenze), vengono bloccate solo le impostazioni e la dashboard dietro il modulo di licenza, con un avviso. I dipendenti continuano ad accedere con il loro codice. Attivare o rinnovare la licenza riapre le impostazioni.
Quali versioni di PrestaShop e di PHP sono supportate e come aggiornare dalla versione 1.0.0?
Il modulo funziona con PrestaShop 1.7.8, 8.2+ e 9.1+, e PHP 7.4 minimo, con un solo archivio; PrestaShop 1.7.7, 8.0, 8.1 e 9.0 non sono supportati. Per aggiornare, carica l’archivio 2.0.0 nella gestione moduli: le registrazioni, i codici di recupero e il registro vengono conservati. I dispositivi attendibili della versione 1.0.0 non vengono più riconosciuti: ogni dipendente inserisce il codice una volta per browser.
La disinstallazione elimina i dati?
Sì. Disinstallare il modulo interrompe la protezione ed elimina le registrazioni, i dispositivi attendibili, il registro e le impostazioni del modulo; PrestaShop chiede una conferma prima di farlo. Una volta disinstallato, il back office torna protetto dalla sola password.
È possibile disattivare la 2FA per tutto il negozio?
Sì, temporaneamente. L’interruttore «Attiva l’autenticazione a due fattori» nelle impostazioni sospende la richiesta del codice per tutti senza eliminare le registrazioni; riattivalo per ripristinare la protezione. Per un solo dipendente, usa «Reimposta» nella dashboard oppure, se il suo profilo non è obbligatorio, «Disattiva l’autenticazione a due fattori» dalla sua pagina.
Il modulo modifica il tema o l’aspetto del negozio?
No. Il modulo agisce solo nel back office: non aggiunge nulla a ciò che vedono i tuoi clienti, non sostituisce alcun file di PrestaShop (nessun override) e funziona quindi con tutti i temi.
I dati della 2FA sono protetti?
Sì. I segreti TOTP sono salvati in un formato cifrato e autenticato, i codici di recupero e i token dei dispositivi attendibili come impronte, e il registro non contiene mai un codice né un segreto. Le chiavi derivano dalla chiave di cifratura di PrestaShop, che non è nel database: un’esportazione del solo database non permette di generare un codice valido.
Un dispositivo attendibile è sicuro?
Si basa su un cookie specifico del dipendente e del browser (HttpOnly, SameSite=Lax) di cui il database conserva solo un’impronta. Scade alla data scelta (30 giorni per impostazione predefinita), il dipendente può rimuoverlo in qualsiasi momento da «La mia autenticazione a due fattori» e puoi collegarlo all’indirizzo IP per un controllo più rigoroso. Su una postazione condivisa, disattiva i dispositivi attendibili (durata 0).
Risoluzione dei problemi
Il codice non viene mai accettato
- Controlla che l’ora del telefono sia impostata in automatico: uno sfasamento superiore a 30 secondi fa fallire il codice
- Attendi il codice successivo se quello mostrato è appena stato usato: un codice è accettato una sola volta
- Dopo 5 codici errati, l’account viene bloccato per 15 minuti per impostazione predefinita: il messaggio indica il tempo rimasto, oppure un super amministratore clicca su Sblocca
Non riesco più ad aprire il back office
- Usa un codice di recupero, oppure chiedi una reimpostazione a un super amministratore
- Altrimenti applica l’accesso di emergenza: comando
wepresta:2fa:disableo fileDISABLE_2FA
Il codice viene richiesto troppo spesso
- I dispositivi attendibili sono attivi (durata superiore a 0) e la casella «Ricorda questo dispositivo» è selezionata?
- Il browser elimina i cookie alla chiusura, oppure il dipendente usa la navigazione privata?
- Il collegamento all’indirizzo IP è attivo? Il codice viene allora richiesto di nuovo a ogni cambio di indirizzo
- Il dispositivo è stato rimosso da «La mia autenticazione a due fattori»?
Il link «La mia autenticazione a due fattori» non compare
- Svuota la cache: Parametri avanzati > Prestazioni > Svuota cache
- Il link si trova nel menu del profilo, in alto a destra, accanto a «Esci»
- Verifica che il modulo sia installato e attivato
Dopo un’installazione da riga di comando, il controllo non sembra applicato
- Svuota la cache di PrestaShop: il modulo la ricostruisce anche da solo appena rileva il problema (al massimo una volta ogni 10 minuti)
La pagina delle impostazioni segnala script da eliminare
- Su PrestaShop 1.7, i vecchi script
backup.php,pdf.phpeget-file-admin.phprispondono a un dipendente connesso senza passare dal nucleo di PrestaShop, quindi senza il controllo del modulo. Eliminali se esistono nella radice del tuo negozio.
Un dipendente non riesce più a convalidare il codice dopo una migrazione del negozio
- Se la chiave di cifratura di PrestaShop (
_COOKIE_KEY_) è cambiata, i segreti salvati non sono più leggibili: il registro indica «Segreto illeggibile». Reimposta il dipendente dalla dashboard o con il comando da console, poi configura di nuovo la sua 2FA.
Changelog
Versione 2.0.0
Novità
- Il modulo funziona su PrestaShop 1.7.8, 8.2+ e 9.1+, con PHP 7.4 minimo, in un solo archivio.
- Ogni dipendente dispone della pagina «La mia autenticazione a due fattori»: attivare la 2FA, cambiare telefono, creare nuovi codici di recupero, gestire i dispositivi attendibili e, fuori da un profilo obbligatorio, disattivarla.
- La dashboard dei super amministratori elenca i dipendenti (stato, scadenza, codici di recupero rimasti, dispositivi, ultimo codice inserito) e mostra il registro di sicurezza, filtrabile per dipendente.
- Un super amministratore reimposta o sblocca un collega dalla dashboard, confermando con il proprio codice.
- Un dispositivo attendibile viene ricordato 30 giorni per browser, qualunque sia l’indirizzo IP; il collegamento all’indirizzo IP diventa un’opzione.
- La verifica resta valida 12 ore (regolabile da 1 a 168 ore) e termina alla disconnessione.
- Il periodo di tolleranza di un profilo obbligatorio decorre dal giorno in cui lo diventa, con un avviso che indica i giorni rimasti.
- La configurazione richiede due minuti: il codice QR viene conservato dopo un errore, la chiave di configurazione è leggibile e un pulsante apre l’app sul telefono.
- Il registro e i dispositivi scaduti vengono eliminati automaticamente una volta al giorno; il comando da console
wepresta:2fa:purgeavvia l’eliminazione su richiesta.
Miglioramenti
- Il codice è richiesto prima di qualsiasi azione del back office: pagine, moduli, chiamate AJAX e JSON.
- Cambiare telefono o creare nuovi codici di recupero richiede un codice valido.
- Un codice è accettato una sola volta e l’orologio del telefono può essere sfasato di un periodo di 30 secondi.
- I segreti sono salvati in un formato cifrato e autenticato; quelli della versione 1.0.0 restano leggibili.
- La pagina del codice è autonoma, senza menu né link del back office, e si invia alla sesta cifra.
- La licenza non disattiva più la 2FA: alla scadenza vengono bloccate solo le impostazioni e la dashboard, con un avviso.
- I dispositivi attendibili mostrano il browser e il sistema, per esempio «Chrome / macOS».
- Viene indicato il numero di codici di recupero rimasti, con un avviso quando ne restano pochi.
- Tutti i profili, compresi quelli creati in seguito, accedono alla pagina del codice e a «La mia autenticazione a due fattori».
- L’interfaccia è completa in francese, inglese, spagnolo, italiano e polacco, compreso il modulo di licenza.
- Il modulo non usa alcuna libreria PHP di terze parti; l’archivio pesa meno di 250 KB.
Correzioni
- Con la sola password non è più possibile sostituire il telefono di un dipendente né mostrare nuovi codici di recupero.
- I moduli, le chiamate AJAX e le pagine senza menu non vengono più eseguiti senza codice.
- Una licenza scaduta, una prova terminata o un errore del server delle licenze non interrompono più la protezione.
- Il blocco dopo codici errati non viene più azzerato da un nuovo accesso.
- La tolleranza dell’orologio è di un periodo di 30 secondi invece di un secondo.
- Il comando da console di emergenza
wepresta:2fa:disablefunziona, e la console di PrestaShop 9 non si ferma più quando il modulo è attivo. - La dashboard è riservata ai super amministratori su tutte le versioni.
- Il periodo di tolleranza non dipende più dall’anzianità dell’account.
- L’eliminazione automatica del registro e dei dispositivi scaduti viene eseguita su PrestaShop 9.
Dopo l'aggiornamento: le tue registrazioni, i codici di recupero e il registro vengono conservati. I dispositivi attendibili della versione 1.0.0 non vengono più riconosciuti: ogni dipendente inserisce il codice una volta per browser. Il periodo di tolleranza dei profili già obbligatori riparte dal giorno dell’aggiornamento. Se il controllo della licenza della versione 1.0.0 aveva disattivato il modulo, l’aggiornamento lo riattiva.
Version 1.0.0
- Initial release
- TOTP authentication
- Backup codes
- Trusted devices
- Admin dashboard
- Audit log
- Emergency recovery methods
Supporto
Per qualsiasi assistenza, contattaci tramite la tua area cliente WePresta o via email a mail@wepresta.shop, secondo l’opzione di supporto della tua offerta.
Prima di contattarci, prepara:
- versione di PrestaShop
- versione di PHP
- l’evento interessato nel registro della dashboard
- screenshot
- log di PrestaShop, se disponibili