X

Come Limitare il Login Utente a un Solo Dispositivo in WordPress

come limitare il login utente a un dispositivo in wordpress

Se il tuo sito WordPress ha account utente, qualcuno sta condividendo le proprie credenziali di accesso.

Potrebbe essere uno studente che passa la password del corso a un amico, un membro che condivide il proprio abbonamento con la famiglia o un cliente che divide una licenza software tra un team.

In entrambi i casi, stai perdendo entrate e i dati dei tuoi utenti smettono di avere senso.

Netflix ha bloccato la condivisione degli account in 100 milioni di famiglie. Non perché fosse facile, ma perché la perdita di entrate era reale. Il tuo sito affronta lo stesso problema, ma su scala ridotta.

In questo tutorial, ti mostrerò come limitare l'accesso degli utenti a un solo dispositivo attivo alla volta in WordPress. Non sono necessari sviluppatori.

Utilizzerai un plugin gratuito per la restrizione principale e WPCode per impostare esenzioni per utenti o ruoli specifici.

Sia che tu stia gestendo un sito di membership, un prodotto in abbonamento, o vendendo corsi online, questa configurazione richiede circa 15 minuti e funziona automaticamente da quel momento in poi.

Punti chiave

  • Ti mostrerò un plugin gratuito che limita ogni account a un solo accesso attivo con una singola modifica alle impostazioni
  • Copro due comportamenti logici di accesso e spiego quale è meno dirompente per i tuoi utenti
  • Scopri come esentare utenti o ruoli specifici usando WPCode, senza toccare i file del tuo tema
  • Spiego come targettizzare la restrizione per tipo di dispositivo, in modo che le sessioni mobili e desktop possano essere trattate diversamente
  • Ti mostro come testare che la restrizione funzioni prima di renderla attiva

Cosa realizzeremo in questo tutorial

Alla fine di questa guida, ogni account utente sul tuo sito sarà bloccato a una sola sessione di accesso attiva alla volta.

Quando qualcuno tenterà di accedere da un secondo dispositivo, WordPress bloccherà il tentativo o terminerà silenziosamente la sua sessione precedente. La scelta è tua.

Questo funziona su qualsiasi sito WordPress con account utente: siti di membership, corsi online, prodotti in abbonamento, o blog multi-autore.

Cosa avrai configurato:

  • Un limite di accesso per account applicato automaticamente ad ogni accesso
  • Esenzioni opzionali per amministratori, editor, o ID utente VIP specifici
  • Un test funzionante per confermare che la restrizione sia attiva
errore di login bloccato

Cosa vede un utente bloccato quando tenta di accedere da un secondo dispositivo.

Cosa ti serve prima di iniziare

Livello di abilità: Intermedio
Tempo di completamento: ~15 minuti

  • Loggedin – Limit Concurrent Sessions – plugin gratuito dal repository di WordPress.
    • Nessun acquisto necessario per quello che stiamo facendo qui.
    • Installalo come qualsiasi altro plugin (Plugin » Aggiungi Nuovo, cerca “Loggedin”).
  • WPCode – necessario solo per il Metodo 2 (esenzioni utente e ruolo).
    • La versione gratuita WPCode Lite è sufficiente. Installala nello stesso modo.
  • Accesso amministrativo a WordPress – dovrai accedere ai menu Impostazioni e Snippet di codice.
  • ID utente per chiunque tu voglia esentare – solo Metodo 2. Ti mostrerò come trovarli rapidamente se non li conosci.

Come Limitare il Login Utente a un Solo Dispositivo in WordPress

Ora, poiché ti mostrerò due metodi, ho suddiviso i passaggi in sezioni semplici. Puoi usare l'indice qui sotto per saltare a qualsiasi metodo o passaggio che desideri leggere.

Con tutto pronto, tuffiamoci.

Metodo 1: Loggedin – Limita sessioni simultanee

limite login sessioni concorrenti

È da qui che inizierei su qualsiasi sito.

Il plugin Loggedin – Limit Concurrent Sessions è gratuito, non richiede codice e applica la restrizione automaticamente dal momento in cui salvi le impostazioni. Non c'è nulla da mantenere una volta che è in funzione.

Una cosa che vale la pena sapere prima di configurarlo: il plugin consente per impostazione predefinita 3 accessi attivi per utente quando lo attivi per la prima volta. Quindi sta già facendo qualcosa, solo che non limita abbastanza strettamente ancora.

Passaggio 1: Installa e configura il tuo limite di accesso

Come accennato, Loggedin – Limit Concurrent Sessions è un plugin gratuito.

Di conseguenza, puoi accedervi andando su Tutti i plugin » Aggiungi nuovo plugin nella tua bacheca di WordPress. Dopo di che, usa la barra di ricerca per trovare lo strumento dal tuo repository di plugin di WordPress.

Se riscontri problemi, consulta il mio tutorial su come installare i plugin per indicazioni.

loggedin limita sessioni concorrenti installa

Una volta installato e attivato, vai su Impostazioni » Generali. Nota che questa è l'opzione "Impostazioni" nativa di WordPress, non una voce di menu dedicata.

Dopo di che, scorri fino in fondo a quella pagina e troverai la sezione Impostazioni Loggedin.

Ecco esattamente cosa fare:

  1. Trova il campo Accessi attivi massimi e cambia il valore in 1.
  2. Non salvare ancora, imposta prima la Logica di accesso (passaggio successivo).
pannello impostazioni loggedin

⚠️Controllo rapido: Assicurati di essere in Impostazioni » Generali, non nella pagina del plugin Loggedin. Le impostazioni non appaiono in un menu dedicato del plugin.

Passaggio 2: Scegli la tua logica di accesso

Questa è la decisione che conta davvero ed è una che la maggior parte dei tutorial salta.

Il menu a discesa Logica di accesso ha due opzioni: Consenti e Blocca. Suonano simili ma si comportano in modo completamente diverso dal punto di vista dei tuoi utenti.

  • Consenti significa: quando arriva un secondo tentativo di accesso, WordPress lo lascia passare. Ma termina silenziosamente la sessione attiva più vecchia dell'utente. La persona già connessa viene espulsa senza preavviso. Si ritroverà semplicemente nella schermata di accesso, chiedendosi cosa sia successo.
  • Blocca significa: il nuovo tentativo di accesso viene rifiutato. La persona che tenta di accedere visualizza un messaggio di errore che le dice che l'account è già in uso. La sua sessione esistente rimane attiva.

Ecco il punto: la scelta dipende dal tuo pubblico.

Blocca funziona meglio per siti di membership o corsi dove si desidera un'applicazione chiara e si è a proprio agio con un po' di attrito. Consenti è meno conflittuale e si adatta a team interni o configurazioni a basso rischio in cui la sostituzione silenziosa della sessione va bene.

loggedin forza logout

Una volta deciso, seleziona la tua opzione dal menu a discesa e fai clic su Salva modifiche.

Passaggio 3: Forza il logout delle sessioni esistenti

Questo passaggio è facoltativo, ma lo eseguirei il giorno del lancio.

Quando abiliti per la prima volta la restrizione, gli utenti che erano già connessi su più dispositivi rimangono connessi. Il limite entra in vigore solo sui nuovi accessi. Forza Logout cancella questo.

Per utilizzarlo, avrai bisogno dell'ID utente di WordPress per qualsiasi account che desideri reimpostare.

Ecco il modo più veloce per trovarne uno: vai su Utenti » Tutti gli utenti, passa il mouse sopra qualsiasi nome utente e guarda l'URL mostrato nella barra di stato del tuo browser. Vedrai qualcosa come ?user_id=5. Quel numero è l'ID.

trova id utente

Inserisci l'ID nel campo Forza Logout e fai clic sul pulsante. Quell'utente viene immediatamente disconnesso da tutte le sessioni attive.

loggedin forza logout

Passaggio 4: Imposta il tuo livello di cache

Se stai utilizzando un plugin di caching come WP Rocket, W3 Total Cache, LiteSpeed Cache o simili, questa impostazione è importante.

Il livello di cache errato può causare a WordPress la restituzione di dati di sessione obsoleti, il che fa sì che la restrizione di accesso si comporti in modo imprevedibile.

La sezione Impostazioni Loggedin include un menu a discesa Livello cache con quattro opzioni:

  • Normale – la scelta giusta per la maggior parte dei siti. Gestisce le configurazioni di caching standard di WordPress.
  • Solo asset – memorizza nella cache i file statici (CSS, JS) ma non i dati di sessione. Ottimo per configurazioni di caching più leggere.
  • Avanzato – usalo se stai eseguendo una configurazione aggressiva di caching di intere pagine.
  • Disattivato – solo se non stai utilizzando affatto la cache.

Per la maggior parte dei siti di membership o corsi che eseguono WP Rocket o simili, Normale funziona bene. Fai clic su Salva modifiche una volta selezionato il tuo livello.

livello cache loggedin

Ecco fatto. Ora puoi limitare gli utenti a un dispositivo sul tuo sito WordPress. Dai un'occhiata allo screenshot qui sotto per vedere cosa aspettarti.

esempio login bloccato loggedin

E se vuoi un maggiore controllo? È qui che entra in gioco il Metodo 2.


Metodo 2: WPCode – Esenta utenti o ruoli specifici

homepage wpcode

Il Metodo 1 applica la restrizione a ogni utente del tuo sito. Di solito è quello che vuoi, ma non sempre.

Amministratori, editor o membri di alto valore spesso necessitano di accesso da più dispositivi. Espellere il proprio account admin da una seconda scheda è frustrante.

Se vuoi gestire chi ha quale accesso sul tuo sito, le esenzioni sono l'approccio giusto.

È qui che entra in gioco WPCode. Aggiungerai un breve snippet PHP che dice a Loggedin di saltare la restrizione per ID utente o ruoli specifici, senza modificare i file del tema o il tuo child theme.

La versione gratuita, WPCode Lite, è tutto ciò di cui hai bisogno qui.

Ti fornisce un'interfaccia dedicata per la gestione degli snippet, mantiene il tuo codice separato dal tema e rende facile attivare o disattivare gli snippet senza rompere nulla.

La versione gratuita WPCode Lite ha una libreria di oltre 130 snippet predefiniti e supporta PHP personalizzato, che è esattamente ciò che stiamo usando.

Puoi trovarlo nel repository di WordPress sotto Plugin » Aggiungi Nuovo e cercare “WPCode”.

installazione gratuita wpcode

Dopo questo, installalo e attivalo come qualsiasi altro plugin.

Passaggio 1: Crea un nuovo snippet PHP

Una volta che WPCode è installato e attivo, vedrai una voce di menu Code Snippets nella barra laterale di WordPress.

wpcode aggiungi snippet

Ecco esattamente cosa fare:

  1. Vai su Code Snippets » + Add Snippet nella tua dashboard.
  2. Arriverai alla libreria degli snippet. Cerca l'opzione Add Your Custom Code (New Snippet).
  3. Passaci sopra il mouse e fai clic su Use snippet.
  4. Apparirà un popup che chiede quale tipo di codice stai aggiungendo. Fai clic su PHP Snippet.
wpcode seleziona tipo di codice

Passaggio 2: Esenta utenti specifici

Ora sei nell'editor di snippet. È qui che aggiungi il codice che bypassa la restrizione di accesso per singoli account utente.

Ecco esattamente cosa fare:

  1. Dai al tuo snippet un titolo chiaro, qualcosa come Bypass Login Restrictions for Certain Users.
  2. Incolla questo codice nel riquadro Code Preview:
<code>function loggedin_bypass_users( $bypass, $user_id ) {<br>    $allowed_users = array( 1, 2, 3 );<br>    if ( in_array( $user_id, $allowed_users ) ) {<br>        $bypass = true;<br>    }<br>    return $bypass;<br>}<br>add_filter( 'loggedin_bypass', 'loggedin_bypass_users', 10, 2 );</code>
  1. Sostituisci 1, 2, 3 nell'array $allowed_users con gli ID utente effettivi che desideri esentare.
wpcode aggira restrizioni di accesso per determinati utenti

Per trovare l'ID di un utente: vai su Users » All Users, passa il mouse sopra il loro nome utente e guarda l'URL nella barra di stato del tuo browser. Vedrai ?user_id=X. Quel numero è il loro ID.

Questo è lo stesso processo che abbiamo utilizzato nel Metodo

trova id utente

Passaggio 3: Esenta ruoli specifici

Se preferisci esentare interi ruoli invece di singoli utenti, crea un secondo snippet usando questo codice. Il processo è identico al Passaggio 2.

Tutto quello che devi fare è selezionare Add Your Custom Code (New Snippet), quindi il tipo PHP e incollare il codice.

function loggedin_bypass_roles( $bypass, $user_id ) {
    $allowed_roles = array( 'administrator', 'editor' );
    $user = get_userdata( $user_id );
    if ( $user && array_intersect( $allowed_roles, $user->roles ) ) {
        $bypass = true;
    }
    return $bypass;
}
add_filter( 'loggedin_bypass', 'loggedin_bypass_roles', 10, 2 );

Una volta fatto, modifica l'array $allowed_roles per corrispondere ai ruoli sul tuo sito.

Per impostazione predefinita, esenta amministratori ed editor. Quindi, rimuovi 'editor' se vuoi esentare solo gli amministratori, o aggiungi altri ruoli come 'shop_manager' o 'subscriber'.

wpcode aggira restrizioni di accesso per determinati ruoli

Passaggio 4: Imposta il tipo di dispositivo (facoltativo)

Questa è una funzionalità che la maggior parte delle persone non sa che WPCode include, ed è utile per questo specifico caso d'uso. Prima di salvare il tuo snippet, scorri verso il basso per trovare l'impostazione Device Type.

Hai tre opzioni:

  • Any Device – lo snippet viene eseguito per tutti gli utenti indipendentemente dal dispositivo su cui si trovano (questa è l'impostazione predefinita)
  • Desktop Only – il bypass della restrizione si applica solo quando gli utenti accedono da un browser desktop
  • Mobile Only – il bypass si applica solo sui dispositivi mobili

La maggior parte dei siti lascerà questa impostazione su Any Device.

Ma se i contenuti della tua iscrizione sono principalmente basati su desktop e desideri bloccare più sessioni desktop pur essendo più flessibile con il mobile, è qui che imposteresti questa opzione.

wpcode tipo di dispositivo

Passaggio 5: Salva e attiva il tuo snippet

Prova ad accedere con lo stesso account.

Qui, naviga su "Metodo di inserimento", dove puoi inserire il codice con Inserimento automatico o Shortcode. Quindi, usa il menu a discesa "Posizione" per indicare a WPCode dove dovrebbe apparire lo snippet.

metodo di inserimento wpcode

Dopo questo, è ora di attivare e salvare.

Ecco esattamente cosa fare:

  1. Scorri fino in cima all'editor dello snippet.
  2. Attiva lo stato dello snippet da Non attivo a Attivo.
  3. Fai clic su Salva snippet.
wpcode salva attiva snippet di codice

Ben fatto. Lo snippet diventa subito attivo. Non è necessario aggiornare la pagina. L'utente connesso salterà ora la restrizione per chiunque nella tua lista di esenzioni.

👉 Inizia subito con WPCode qui

Come testare il tuo lavoro

Non dare per scontato che funzioni; verificalo. Questo test richiede due minuti e conferma che la restrizione sia effettivamente applicata.

Ecco esattamente cosa fare:

  1. Apri il tuo browser in modalità di navigazione in incognito o privata.
  2. Vai alla tua pagina di accesso di WordPress ed effettua l'accesso con un account utente normale (non un amministratore).
  3. Senza disconnetterti, apri la tua normale finestra del browser.
  4. Prova ad accedere allo stesso account.

Se hai scelto Blocca come Logica di accesso, dovresti vedere l'errore "Il limite di accesso di questo utente è stato raggiunto".

Se scegli Consenti, la tua sessione in incognito dovrebbe terminare. Aggiornala e verrai reindirizzato alla schermata di accesso.

Se entrambe le sessioni rimangono attive, controlla due cose: conferma che Accessi attivi massimi sia impostato su 1 (non lasciato al valore predefinito di 3) e assicurati di aver fatto clic su Salva modifiche dopo aver regolato le impostazioni.

⚠️Suggerimento rapido: Utilizza un account abbonato o cliente per questo test, non il tuo account amministratore, soprattutto se hai impostato un'esenzione di ruolo per gli amministratori.

Problemi comuni e soluzioni rapide

Problema: "Anche l'account amministratore viene bloccato"

  • Cosa sta succedendo: La restrizione si applica a tutti i ruoli utente per impostazione predefinita, inclusi gli amministratori.
  • Soluzione rapida: Aggiungi lo snippet di bypass del ruolo dal Metodo 2, Passaggio 3, e includi 'administrator' nell'array $allowed_roles. Se devi solo esentare te stesso, il bypass dell'ID utente dal Passaggio 2 è più semplice.

La mia esperienza: Aggiungo sempre l'esenzione per l'amministratore prima di abilitare la restrizione su qualsiasi sito live, per evitare una chiamata di supporto imbarazzante.

Problema: "Gli utenti vengono disconnessi casualmente, anche senza un secondo accesso"

  • Cosa sta succedendo: Un plugin di caching sta servendo dati di sessione obsoleti, attivando falsi rilevamenti di "secondo accesso".
  • Correzione rapida: Torna a Impostazioni » Generali » Impostazioni Loggedin e cambia il Livello Cache in Avanzato. Svuota la cache dopo aver salvato. Se non sei sicuro di quale plugin di ottimizzazione della velocità stia causando il conflitto, la modalità Avanzata copre la maggior parte delle configurazioni.

La mia esperienza: Questo problema si presenta sui siti che utilizzano una cache completa aggressiva, in particolare WP Rocket.

Problema: “La restrizione non funziona affatto dopo l'attivazione”

  • Cosa sta succedendo: Il plugin è stato impostato di default su 3 accessi attivi e hai dimenticato di cambiarlo in 1.
  • Correzione rapida: Vai su Impostazioni » Generali, conferma che Accessi Attivi Massimi sia impostato su 1 e fai clic su Salva Modifiche.

Problema: “I membri si lamentano di essere disconnessi continuamente senza motivo”

  • Cosa sta succedendo: Stanno condividendo le credenziali tra familiari o dispositivi; la logica di Consenti sta sostituendo silenziosamente la loro sessione.
  • Correzione rapida: Passa la logica di accesso a Blocca in modo che vedano un errore chiaro invece di una disconnessione silenziosa. Oppure usa Forza Disconnessione per reimpostare le loro sessioni e spiegare la nuova policy.

Spero che questo tutorial su come limitare gli utenti a un solo dispositivo ti sia stato utile. Se qualcosa non è chiaro, consulta le domande frequenti qui sotto.

FAQ: Come limitare l'accesso utente a un solo dispositivo in WordPress

Funziona con WooCommerce o plugin di membership come MemberPress?

Sì. Loggedin si aggancia al sistema di accesso principale di WordPress, quindi funziona indipendentemente dal plugin di membership o eCommerce che stai utilizzando. Gli account cliente di WooCommerce, i membri di MemberPress e qualsiasi altro sistema utente basato sui ruoli saranno interessati dalla restrizione.

Bloccherà i miei amministratori?

Per impostazione predefinita, sì, la restrizione si applica a ogni ruolo. Se desideri esentare gli amministratori (o qualsiasi altro ruolo), aggiungi lo snippet di bypass del ruolo dal Metodo 2, Passaggio 3. Puoi eseguire entrambi gli snippet contemporaneamente, uno per i ruoli, uno per i singoli utenti.

Cosa succede agli utenti che sono già connessi quando abilito questa funzione?

Le sessioni esistenti non vengono terminate immediatamente quando attivi la restrizione. Il limite si applica solo ai nuovi tentativi di accesso. Se desideri applicarlo retroattivamente, utilizza la funzione Forza Disconnessione dal Metodo 1, Passaggio 3 e inserisci gli ID utente che desideri reimpostare.

Posso limitare gli account a 2 o 3 dispositivi invece di 1?

Sì. Cambia semplicemente il valore Accessi Attivi Massimi in Impostazioni » Generali al numero desiderato. Impostarlo su 2 consente due sessioni simultanee per account. Questo è utile se desideri permettere sia un telefono che un laptop, ma niente di più.

Considerazioni finali

Limitare gli accessi a un solo dispositivo è una di quelle modifiche che si ripagano rapidamente su qualsiasi sito con account a pagamento.

Lo imposti una volta e ogni nuovo accesso successivo viene applicato automaticamente. Nessuna manutenzione, controllo manuale o inseguimento di chi condivide le credenziali.

Il plugin Loggedin gestisce la restrizione principale in pochi minuti.

WPCode ti offre la flessibilità di esentare le persone giuste senza toccare una riga di codice del tema.

Tra i due, ottieni una configurazione sufficientemente rigorosa per proteggere le tue entrate e sufficientemente flessibile per non frustrare il tuo team.

Se gestisci un sito di appartenenza o vendi l'accesso a qualsiasi tipo di contenuto, vale la pena farlo oggi.

I tuoi dati utente diventeranno immediatamente più affidabili e le entrate che stai perdendo a causa delle credenziali condivise smetteranno di fuoriuscire.

Per uno sguardo più approfondito sul rafforzamento del tuo sito oltre i controlli di accesso, la guida completa alla sicurezza di WordPress è un buon passo successivo.


Hub risorse: Sicurezza e gestione utenti di WordPress

Queste guide coprono i prossimi passi per bloccare il tuo sito e gestire correttamente i tuoi utenti.


Commenti   Lascia una risposta

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON usare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist di Lancio WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, inviami l'eBook gratuito !