X

Como Restringir o Login de Usuário a Um Dispositivo no WordPress

como restringir o login do usuário a um dispositivo no wordpress

Se o seu site WordPress tem contas de usuário, alguém está compartilhando suas credenciais de login.

Pode ser um aluno passando a senha do curso para um amigo, um membro compartilhando sua assinatura com a família ou um cliente dividindo uma licença de software entre uma equipe.

De qualquer forma, você está perdendo receita e os dados dos seus usuários deixam de fazer sentido.

A Netflix reprimiu o compartilhamento de contas em 100 milhões de residências. Não porque foi fácil, mas porque a perda de receita era real. Seu site enfrenta o mesmo problema, mas em menor escala.

Neste tutorial, mostrarei como restringir o login do usuário a um dispositivo ativo por vez no WordPress. Nenhum desenvolvedor é necessário.

Você usará um plugin gratuito para a restrição principal e o WPCode para definir isenções para usuários ou funções específicas.

Se você está gerenciando um site de associação, administrando um produto de assinatura ou vendendo cursos online, esta configuração leva cerca de 15 minutos e funciona automaticamente a partir daí.

Principais Pontos

  • Mostrarei um plugin gratuito que limita cada conta a um login ativo com uma única alteração de configuração
  • Abordo dois comportamentos de lógica de login e explico qual deles é menos disruptivo para seus usuários
  • Revela como isentar usuários ou funções específicas usando o WPCode, sem mexer nos arquivos do seu tema
  • Mostro como direcionar a restrição por tipo de dispositivo, para que sessões móveis e de desktop possam ser tratadas de forma diferente
  • Mostro como testar se a restrição está funcionando antes de publicá-la

O que vamos realizar neste tutorial

Ao final deste guia, cada conta de usuário no seu site será bloqueada para uma sessão de login ativa por vez.

Quando alguém tentar fazer login de um segundo dispositivo, o WordPress bloqueará a tentativa ou encerrará silenciosamente a sessão anterior. A escolha é sua.

Isso funciona em qualquer site WordPress com contas de usuário: sites de associação, cursos online, produtos de assinatura ou blogs com vários autores.

O que você terá configurado:

  • Um limite de login por conta aplicado automaticamente a cada login
  • Isenções opcionais para administradores, editores ou IDs de usuário VIP específicos
  • Um teste funcional para confirmar que a restrição está ativa
erro de login bloqueado

O que um usuário bloqueado vê ao tentar fazer login de um segundo dispositivo.

O que você vai precisar antes de começarmos

Nível de habilidade: Intermediário
Tempo de conclusão: ~15 minutos

  • Loggedin – Limit Concurrent Sessions – free plugin from the WordPress repository.
    • Nenhuma compra é necessária para o que estamos fazendo aqui.
    • Instale-o como qualquer outro plugin (Plugins » Adicionar Novo, pesquise por “Loggedin”).
  • WPCode – only needed for Method 2 (user and role exemptions).
    • A versão gratuita do WPCode Lite é suficiente. Instale-o da mesma forma.
  • Acesso de administrador do WordPress – você precisará acessar os menus Configurações e Snippets de Código.
  • IDs de usuário para qualquer pessoa que você queira isentar – Apenas Método 2. Mostrarei como encontrá-los rapidamente se você não os souber.

Como Restringir o Login de Usuário a Um Dispositivo no WordPress

Agora, como mostrarei dois métodos, dividi as etapas em seções simples. Você pode usar o índice abaixo para pular para qualquer método ou etapa que desejar ler.

Com tudo pronto, vamos mergulhar.

Método 1: Loggedin – Limitar Sessões Concorrentes

loggedin limite sessões simultâneas

É por aqui que eu começaria em qualquer site.

O plugin Loggedin – Limit Concurrent Sessions é gratuito, não requer código e impõe a restrição automaticamente a partir do momento em que você salva suas configurações. Não há nada para manter depois que ele está funcionando.

Uma coisa que vale a pena saber antes de configurá-lo: o plugin permite por padrão 3 logins ativos por usuário quando você o ativa pela primeira vez. Portanto, ele já está fazendo algo, apenas não restringindo o suficiente ainda.

Etapa 1: Instale e Configure seu Limite de Login

Como mencionado, Loggedin – Limit Concurrent Sessions é um plugin gratuito.

Como resultado, você pode acessá-lo indo em Todos os Plugins » Adicionar Novo Plugin no seu painel do WordPress. Depois disso, use a barra de pesquisa para encontrar a ferramenta no seu repositório de plugins do WordPress.

Se você tiver algum problema, confira meu tutorial sobre como instalar plugins para obter instruções.

loggedin limite instalação de sessão simultânea

Após instalar e ativar, vá para Configurações » Geral. Observe que esta é a opção "Configurações" nativa do WordPress, não em seu próprio item de menu.

Depois disso, role até o final dessa página e você encontrará a seção Configurações do Loggedin.

Veja exatamente o que fazer:

  1. Encontre o campo Máximo de Logins Ativos e altere o valor para 1.
  2. Não salve ainda, defina a Lógica de Login primeiro (próxima etapa).
painel de configurações loggedin

⚠️Verificação Rápida: Certifique-se de que você está em Configurações » Geral, não na página do próprio plugin Loggedin. As configurações não aparecem em um menu dedicado do plugin.

Etapa 2: Escolha sua Lógica de Login

Esta é a decisão que realmente importa e é uma que a maioria dos tutoriais pula.

O menu suspenso Lógica de Login tem duas opções: Permitir e Bloquear. Elas soam semelhantes, mas se comportam de maneira completamente diferente da perspectiva dos seus usuários.

  • Permitir significa: quando uma segunda tentativa de login chega, o WordPress a permite. Mas encerra silenciosamente a sessão ativa mais antiga do usuário. A pessoa que já estava logada é expulsa sem aviso. Ela simplesmente se encontrará na tela de login, se perguntando o que aconteceu.
  • Bloquear significa: a nova tentativa de login é rejeitada. A pessoa tentando fazer login vê uma mensagem de erro informando que a conta já está em uso. Sua sessão existente permanece ativa.

A questão é: qual você escolhe depende do seu público.

Bloquear funciona melhor para sites de associação ou cursos onde você deseja uma aplicação clara, e você está de acordo com algum atrito. Permitir é menos confrontador e adequado para equipes internas ou configurações de menor risco onde a substituição silenciosa de sessão é aceitável.

loggedin forçar logout

Depois de decidir, selecione sua opção no menu suspenso e clique em Salvar Alterações.

Etapa 3: Forçar logout de sessões existentes

Esta etapa é opcional, mas eu a executaria no dia do lançamento.

Quando você ativa a restrição pela primeira vez, os usuários que já estavam logados em vários dispositivos permanecem logados. O limite só entra em vigor em novos logins. Forçar Logout limpa isso.

Para usá-lo, você precisará do ID de usuário do WordPress para qualquer conta que deseje redefinir.

Aqui está a maneira mais rápida de encontrar um: vá para Usuários » Todos os Usuários, passe o mouse sobre qualquer nome de usuário e olhe o URL mostrado na barra de status do seu navegador. Você verá algo como ?user_id=5. Esse número é o ID.

encontrar id do usuário

Digite o ID no campo Forçar Logout e clique no botão. Esse usuário é imediatamente desconectado de todas as sessões ativas.

loggedin forçar logout

Etapa 4: Definir o Nível do Cache

Se você estiver usando um plugin de cache como WP Rocket, W3 Total Cache, LiteSpeed Cache ou similar, esta configuração é importante.

O nível de cache incorreto pode fazer com que o WordPress sirva dados de sessão desatualizados, o que faz com que a restrição de login se comporte de forma imprevisível.

A seção Configurações de Login inclui um menu suspenso Nível de Cache com quatro opções:

  • Normal – a escolha certa para a maioria dos sites. Lida com configurações de cache padrão do WordPress.
  • Somente Conteúdo – armazena em cache arquivos estáticos (CSS, JS), mas não dados de sessão. Bom para configurações de cache mais leves.
  • Avançado – use isso se você estiver executando uma configuração agressiva de cache de página inteira.
  • Desligado – apenas se você não estiver usando nenhum cache.

Para a maioria dos sites de associação ou cursos que executam WP Rocket ou similar, Normal funciona bem. Clique em Salvar Alterações depois de selecionar seu nível.

nível de cache loggedin

É isso. Agora você pode restringir os usuários a um dispositivo em seu site WordPress. Confira a captura de tela abaixo para ver o que esperar.

exemplo de login bloqueado loggedin

E se você quiser mais controle? É aí que o Método 2 entra.


Método 2: WPCode – Isentar Usuários ou Funções Específicas

página inicial wpcode

O Método 1 aplica a restrição a todos os usuários do seu site. Geralmente é o que você quer, mas nem sempre.

Administradores, editores ou membros de alto valor frequentemente precisam de acesso de vários dispositivos. Desconectar sua própria conta de administrador de uma segunda aba é frustrante.

Se você deseja gerenciar quem tem qual acesso em seu site, as isenções são a abordagem correta.

É aqui que o WPCode entra. Você adicionará um pequeno trecho de PHP que diz ao Loggedin para pular a restrição para IDs de usuário ou funções específicas, sem editar os arquivos do tema ou seu tema filho.

A versão gratuita, WPCode Lite, é tudo o que você precisa aqui.

Ele fornece uma interface dedicada para gerenciar trechos, mantém seu código separado do seu tema e facilita a ativação ou desativação de trechos sem quebrar nada.

A versão gratuita WPCode Lite tem uma biblioteca de mais de 130 trechos pré-construídos e suporta PHP personalizado, que é exatamente o que estamos usando.

Você pode encontrá-lo no repositório do WordPress em Plugins » Adicionar Novo e pesquisar por “WPCode”.

instalação gratuita wpcode

Após isso, instale e ative-o como qualquer outro plugin.

Etapa 1: Criar um Novo Trecho de PHP

Assim que o WPCode for instalado e ativado, você verá um item de menu Code Snippets na barra lateral do seu WordPress.

wpcode adicionar snippet

Veja exatamente o que fazer:

  1. Vá para Code Snippets » + Add Snippet no seu painel.
  2. Você chegará à biblioteca de snippets. Procure a opção Add Your Custom Code (New Snippet).
  3. Passe o mouse sobre ela e clique em Use snippet.
  4. Um pop-up aparecerá perguntando qual tipo de código você está adicionando. Clique em PHP Snippet.
wpcode selecionar tipo de código

Etapa 2: Isentar Usuários Específicos

Agora você está no editor de snippets. É aqui que você adiciona o código que ignora a restrição de login para contas de usuários individuais.

Veja exatamente o que fazer:

  1. Dê um título claro ao seu snippet, algo como Ignorar Restrições de Login para Certos Usuários.
  2. Cole este código no painel 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. Substitua 1, 2, 3 no array $allowed_users pelos IDs de usuário reais que você deseja isentar.
wpcode ignorar restrições de login certos usuários

Para encontrar o ID de um usuário: vá para Users » All Users, passe o mouse sobre o nome de usuário dele e olhe a URL na barra de status do seu navegador. Você verá ?user_id=X. Esse número é o ID dele.

Este é o mesmo processo que usamos no Método

encontrar id do usuário

Etapa 3: Isentar Funções Específicas

Se preferir isentar funções inteiras em vez de usuários individuais, crie um segundo snippet usando este código. O processo é idêntico ao Passo 2.

Tudo o que você precisa fazer é selecionar Add Your Custom Code (New Snippet), depois o tipo PHP e colar o código.

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 );

Depois de pronto, edite o array $allowed_roles para corresponder às funções do seu site.

Por padrão, ele isenta administradores e editores. Portanto, remova 'editor' se você quiser isentar apenas administradores, ou adicione outras funções como 'shop_manager' ou 'subscriber'.

wpcode ignorar restrições de login certos papéis

Etapa 4: Definir Tipo de Dispositivo (Opcional)

Este é um recurso que a maioria das pessoas não sabe que o WPCode inclui, e é útil para este caso de uso específico. Antes de salvar seu snippet, role para baixo para encontrar a configuração Device Type.

Você tem três opções:

  • Any Device – o snippet é executado para todos os usuários, independentemente do dispositivo em que estejam (este é o padrão)
  • Desktop Only – o bypass da restrição se aplica apenas quando os usuários fazem login de um navegador desktop
  • Mobile Only – o bypass se aplica apenas em dispositivos móveis

A maioria dos sites deixará isso em Any Device.

Mas se o conteúdo da sua assinatura for principalmente baseado em desktop e você quiser bloquear várias sessões de desktop, sendo mais flexível com dispositivos móveis, é aqui que você definiria isso.

tipo de dispositivo wpcode

Etapa 5: Salvar e Ativar seu Trecho

Depois de pronto, vá abaixo da área de snippet do WPCode para encontrar a aba Insertion .

Aqui, navegue até “Insert Method”, onde você pode inserir o código com Auto Insert ou Shortcode. Em seguida, use o menu suspenso “Location” para dizer ao WPCode onde o snippet deve aparecer.

método de inserção wpcode

Depois disso, é hora de ativar e salvar.

Veja exatamente o que fazer:

  1. Role até o topo do editor de snippets.
  2. Alterne o status do snippet de Inactive para Active.
  3. Clique em Save Snippet.
wpcode salvar ativar trecho de código

Muito bem. O snippet entra em vigor imediatamente. Nenhuma atualização de página é necessária. O usuário logado agora pulará a restrição para qualquer pessoa em sua lista de isenção.

👉 Comece a usar o WPCode aqui

Como Testar Seu Trabalho

Não presuma que está funcionando; verifique. Este teste leva dois minutos e confirma que a restrição está realmente em vigor.

Veja exatamente o que fazer:

  1. Abra seu navegador em modo anônimo ou privado.
  2. Acesse sua página de login do WordPress e faça login com uma conta de usuário regular (não de administrador).
  3. Sem sair, abra sua janela normal do navegador.
  4. Tente fazer login na mesma conta.

Se você escolheu Bloquear como Lógica de Login, deverá ver o erro "Limite de Login Deste Usuário Atingido".

Se você escolher Permitir, sua sessão anônima deverá terminar. Atualize-a e você será redirecionado para a tela de login.

Se ambas as sessões permanecerem ativas, verifique duas coisas: confirme se Máximo de Logins Ativos está definido como 1 (não o padrão de 3) e certifique-se de que clicou em Salvar Alterações após ajustar as configurações.

⚠️Dica rápida: Use uma conta de assinante ou cliente para este teste, não sua conta de administrador, especialmente se você configurou uma isenção de função para administradores.

Problemas Comuns e Correções Rápidas

Problema: “A conta de administrador também está sendo bloqueada”

  • O que está acontecendo: A restrição se aplica a todas as funções de usuário por padrão, incluindo administradores.
  • Correção rápida: Adicione o snippet de bypass de função do Método 2, Passo 3, e inclua 'administrator' no array $allowed_roles. Se você só precisa se isentar, o bypass de ID de usuário do Passo 2 é mais simples.

Minha experiência: Sempre adiciono a isenção de administrador antes de ativar a restrição em qualquer site ativo - economiza uma ligação de suporte embaraçosa.

Problema: “Usuários estão sendo desconectados aleatoriamente, mesmo sem um segundo login”

  • O que está acontecendo: Um plugin de cache está servindo dados de sessão desatualizados, acionando falsas detecções de “segundo login”.
  • Correção rápida: Volte para Configurações » Geral » Configurações de Loggedin e altere o Nível de Cache para Avançado. Limpe seu cache após salvar. Se você não tem certeza de qual plugin de otimização de velocidade está causando o conflito, o modo Avançado cobre a maioria das configurações.

Minha experiência: Este problema afeta sites que executam cache agressivo de página inteira - WP Rocket em particular.

Problema: “A restrição não está funcionando nada após a ativação”

  • O que está acontecendo: O plugin usou o padrão de 3 logins ativos e você esqueceu de alterá-lo para 1.
  • Correção rápida: Vá para Configurações » Geral, confirme se Máximo de Logins Ativos está definido como 1 e clique em Salvar Alterações.

Problema: “Membros estão reclamando que continuam sendo desconectados sem motivo”

  • O que está acontecendo: Eles estão compartilhando credenciais entre familiares ou dispositivos - a lógica de Permitir está substituindo a sessão deles silenciosamente.
  • Correção rápida: Mude a lógica de login para Bloquear para que eles vejam um erro claro em vez de um logout silencioso. Ou use o Logout Forçado para redefinir suas sessões e explicar a nova política.

Espero que você tenha achado este tutorial sobre como restringir usuários a um dispositivo útil. Se algo não estiver claro, confira as perguntas frequentes abaixo.

FAQs: Como Restringir o Login de Usuários a Um Dispositivo no WordPress

Isso funciona com WooCommerce ou plugins de associação como o MemberPress?

Sim. O Loggedin se conecta ao sistema de login principal do WordPress, portanto, funciona independentemente de qual plugin de associação ou de comércio eletrônico você esteja usando. As contas de clientes do WooCommerce, os membros do MemberPress e qualquer outro sistema de usuário baseado em função serão afetados pela restrição.

Isso vai bloquear meus administradores?

Por padrão, sim, a restrição se aplica a todas as funções. Se você quiser que os administradores (ou qualquer outra função) sejam isentos, adicione o trecho de bypass de função da Método 2, Passo 3. Você pode executar ambos os trechos simultaneamente, um para funções e outro para usuários individuais.

O que acontece com os usuários que já estão logados quando eu ativo isso?

As sessões existentes não são encerradas imediatamente quando você ativa a restrição. O limite se aplica apenas a novas tentativas de login. Se você quiser aplicá-lo retroativamente, use o recurso de Logout Forçado da Método 1, Passo 3 e insira os IDs de usuário que você deseja redefinir.

Posso limitar as contas a 2 ou 3 dispositivos em vez de 1?

Sim. Basta alterar o valor de Máximo de Logins Ativos em Configurações » Geral para o número que você precisar. Definir para 2 permite duas sessões simultâneas por conta. Isso é útil se você quiser permitir um telefone e um laptop, mas nada mais.

Considerações Finais

Restringir logins a um dispositivo é uma daquelas mudanças que se pagam rapidamente em qualquer site com contas pagas.

Você o configura uma vez e cada novo login após isso é automaticamente aplicado. Sem manutenção, verificações manuais ou perseguição de compartilhadores de credenciais.

O plugin Loggedin cuida da restrição principal em poucos minutos.

O WPCode oferece a flexibilidade de isentar as pessoas certas sem tocar em uma linha de código do tema.

Entre os dois, você obtém uma configuração que é rigorosa o suficiente para proteger sua receita e flexível o suficiente para não frustrar sua própria equipe.

Se você administra um site de associação ou vende acesso a qualquer tipo de conteúdo, vale a pena fazer isso hoje.

Seus dados de usuário se tornarão imediatamente mais confiáveis, e a receita que você está perdendo para credenciais compartilhadas deixará de vazar.

Para um olhar mais aprofundado sobre o reforço da segurança do seu site além dos controles de login, o guia completo de segurança do WordPress é um bom próximo passo.


Central de Recursos: Segurança e Gerenciamento de Usuários do WordPress

Estes guias cobrem os próximos passos para proteger seu site e gerenciar seus usuários corretamente.


Comentários   Deixe uma resposta

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!