Como Restringir o Acesso de Administrador do WordPress por Endereço IP

A maioria das pessoas não pensa em proteger sua área de administração do WordPress até que seja tarde demais. Ajudamos usuários a se recuperarem de ataques em que a área de administração do WordPress foi deixada totalmente aberta.

É por isso que recomendamos restringir o acesso à área de administração por IP. É uma técnica que usamos em sites de clientes que precisam apenas de uma ou duas pessoas fazendo login de redes conhecidas.

Neste tutorial, mostraremos como bloquear o acesso à administração do WordPress usando uma edição rápida do arquivo .htaccess. É uma maneira simples, mas muito eficaz de proteger seu site WordPress contra ameaças comuns.

Como Restringir o Acesso de Administrador do WordPress por Endereço IP

Por que restringir o acesso à administração do WordPress por endereço IP?

Se você tem um site WordPress, precisa levar a segurança do seu site a sério. Embora o software principal do WordPress seja muito seguro, há mais que você pode fazer para se proteger de hackers e ataques de força bruta.

Hackers podem derrubar seu site, além de prejudicar sua receita e reputação. Eles podem roubar dados ou até mesmo distribuir malware para os visitantes do seu site e fazer com que seu domínio seja listado em uma lista negra pelo Google e outros.

Uma maneira inteligente de bloquear hackers e melhorar a segurança do WordPress é protegendo sua área de administração do WordPress contra acesso não autorizado.

Se apenas você ou alguns usuários confiáveis precisam de acesso à área de administração, uma boa maneira de fazer isso é limitar o acesso ao wp-admin e à página de login do WordPress aos endereços IP da sua equipe.

Cada membro da equipe se conectará ao seu site WordPress usando um endereço IP específico para cada local. Se você bloquear o acesso a todos os outros endereços IP, um hacker não conseguirá acessar seu site, mesmo que tenha descoberto seu nome de usuário e senha.

Em vez disso, eles verão a mensagem de erro: 'Proibido. Você não tem permissão para acessar este recurso.'

Vamos ver como restringir o acesso administrativo do WordPress por endereço IP.

Como Restringir o Acesso de Administrador do WordPress por Endereço IP

A primeira coisa que você precisa fazer é fazer uma lista dos endereços IP usados por todos na sua equipe que precisam de acesso à área administrativa do WordPress.

Você precisa pedir aos membros da sua equipe que enviem seus endereços IP dos locais de onde costumam trabalhar. Se alguém trabalha em vários locais, você precisará coletar o endereço IP de cada um.

Você também precisará adicionar seu endereço IP à lista.

Como Encontrar Seu Endereço IP?

A maneira mais fácil de encontrar seu endereço IP é visitando um site como SupportAlly ou WhatisMyIPAddress.com.

Encontre seu endereço IP

Esses sites mostrarão seu endereço IP, que você pode então adicionar à sua lista. Você também pode pedir aos membros da sua equipe que visitem esses sites para encontrar seus endereços IP e enviá-los de volta para você.

Depois de ter feito sua lista, você pode prosseguir para limitar o acesso por endereços IP. Mostraremos duas abordagens para que você possa escolher uma que funcione para você.

🚨 Nota Importante: Nas seções a seguir, mostraremos como modificar arquivos importantes para restringir o acesso de administradores. Isso pode ser arriscado, mesmo para usuários avançados, pois até o menor erro pode travar seu site ou impactar sua funcionalidade. É por isso que sempre recomendamos criar um backup primeiro.

1. Restrinja o Acesso por Endereço IP Usando o Arquivo .htaccess (Recomendado)

Para este método, usaremos o arquivo .htaccess. É um arquivo de configuração no nível do servidor que você pode editar para configurar diferentes coisas.

Ele é executado antes mesmo do seu site WordPress carregar, e é por isso que adicionar instruções de segurança lá oferece uma proteção muito melhor.

Você terá que usar um cliente FTP ou o aplicativo gerenciador de arquivos do seu provedor de hospedagem. Se você nunca usou FTP antes, talvez queira ver nosso guia sobre como usar FTP para fazer upload de arquivos para o WordPress.

Você precisará usar o software para navegar até a pasta /wp-admin/ do seu site. Uma vez lá, você deve procurar pelo arquivo .htaccess. Este é um arquivo oculto, portanto, se você não conseguir vê-lo, talvez precise ativar a opção de mostrar arquivos ocultos no seu software.

Navegue até wp-admin e localize .htaccess

Se esse arquivo não existir na pasta, você deverá criar um novo arquivo e salvá-lo com o nome .htaccess na sua pasta /wp-admin/.

Aviso ⚠️: Não edite o arquivo .htaccess da sua raiz, ou você impedirá o acesso dos visitantes à parte frontal do seu site! Certifique-se de que está editando /wp-admin/.htaccess.

Você deve primeiro baixar uma cópia do arquivo para o seu computador como backup.

Depois de fazer isso, você precisará editar o .htaccess e colar o seguinte código no arquivo:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<Limit GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
# whitelist Amanda's IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad's IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
</LIMIT>

Vá em frente e edite o arquivo para corresponder aos nomes dos membros da sua equipe e, em seguida, cole os endereços IP que você coletou anteriormente para substituir onde diz xx.xx.xx.xxx.

Assim que você salvar o arquivo, apenas esses endereços IP poderão acessar o painel do WordPress.

Lembre-se que se o seu endereço IP mudar ou você tentar acessar seu site de um novo local, você será bloqueado da sua área de administração do WordPress. Você precisará adicionar seu novo endereço IP ao arquivo /wp-admin/.htaccess .

2. Restrinja o Acesso Usando wp-config.php (Método Alternativo)

Se o seu servidor não suporta regras .htaccess ou se você está executando o WordPress em um servidor não-Apache como NGINX ou LiteSpeed, então usar o arquivo wp-config.php é uma boa alternativa.

Editar o wp-config.php pode ser mais seguro do que modificar o .htaccess porque é menos provável que cause erros em nível de servidor e é fácil de reverter, se necessário. Dito isso, você ainda precisará fazer as alterações com cuidado, pois mesmo erros menores podem travar seu site.

O arquivo wp-config.php carrega cedo durante o processo de inicialização do WordPress, o que o torna um local seguro para aplicar restrições. É especialmente útil para desenvolvedores ou usuários avançados que gerenciam sites em diferentes ambientes de servidor.

Para usar este método, abra seu arquivo wp-config.php usando um cliente FTP ou o gerenciador de arquivos do painel de controle da sua hospedagem. Em seguida, logo acima da linha que diz /* Isso é tudo, pare de editar! Bom blog. */, adicione o seguinte código:

if (strpos($_SERVER['REQUEST_URI'], '/wp-admin') !== false || 
    strpos($_SERVER['REQUEST_URI'], '/wp-login.php') !== false) {
    if ($_SERVER['REMOTE_ADDR'] !== '123.456.78.90') {
        header('HTTP/1.0 403 Forbidden');
        exit;
    }
}

Substitua 123.456.78.90 pelo seu endereço IP atual. Este código bloqueará todo o acesso às suas páginas de administração e login do WordPress, exceto do seu IP permitido.

Adicionando Múltiplos Endereços IP:

Para adicionar outros membros da equipe, você precisará usar um código diferente. Neste código, você usará uma matriz de endereços IP para diferentes membros da equipe separados por vírgulas. Assim:

$allowed_ips = array('123.456.789.000', '987.654.321.000', '200.200.255.168'); // Add more IPs as necessary
if ( !in_array($_SERVER['REMOTE_ADDR'], $allowed_ips) ) {
    wp_die('Unauthorized access. Your IP address is not permitted.');
}

Cuidado⚠️: Se o seu endereço IP muda com frequência ou você trabalha em várias redes, este método pode bloquear seu acesso. Sempre faça um backup antes de fazer alterações em wp-config.php.

Lidando com IPs Dinâmicos ou Múltiplos Membros da Equipe

Se o seu endereço IP muda com frequência ou sua equipe trabalha em redes diferentes, restrições baseadas em IP em .htaccess ou wp-config.php podem não ser práticas. Esses métodos funcionam melhor quando o acesso é limitado a um IP ou local fixo.

Para uma segurança mais flexível, você pode usar abordagens alternativas listadas abaixo:

1. Adicionar Autenticação de Dois Fatores (2FA)

Adicionar autenticação de dois fatores significa que os usuários precisam inserir tanto a senha quanto um código único do telefone para fazer login. Isso impede que invasores acessem seu site, mesmo que saibam sua senha.

Para saber mais, consulte nosso guia passo a passo sobre como adicionar autenticação de dois fatores no WordPress.

Os usuários devem inserir um código de autenticação antes de fazer login

2. Proteger sua Pasta de Administrador com Senha

Essa abordagem adiciona outra camada de segurança antes que os usuários possam sequer acessar a tela de login do WordPress. Quando alguém tentar visitar /wp-admin/, ele precisará primeiro inserir um nome de usuário e senha em nível de servidor definidos por você.

Área de administração do WordPress protegida por senha

Isso ajuda a bloquear bots e atacantes de tentarem adivinhar suas credenciais de login do WordPress. Para mais detalhes, veja nosso tutorial sobre como proteger com senha sua pasta de administrador do WordPress.

Perguntas Frequentes

O que acontece se meu endereço IP mudar?

Se você estiver usando restrições de IP em .htaccess ou wp-config.php e seu IP mudar, você será bloqueado de sua área de administrador. Para recuperar o acesso, você precisará atualizar o endereço IP permitido via FTP ou seu painel de controle de hospedagem.

Posso permitir acesso de múltiplos endereços IP?

Sim. Você pode listar múltiplos endereços IP em suas regras de .htaccess ou wp-config.php. Cada um deve ser adicionado como uma linha separada Allow from ou condição if, dependendo do método que você está usando.

E se eu usar um hotspot móvel ou VPN?

Hotspots móveis e VPNs geralmente usam IPs dinâmicos, que podem mudar com frequência. Nesse caso, recomendamos habilitar a autenticação de dois fatores ou proteger com senha sua pasta de administrador para uma proteção mais flexível.

Mais Dicas de Segurança para WordPress

Restringir o acesso à sua área de administrador é uma medida inteligente, mas é apenas uma parte do quebra-cabeça. Aqui estão mais tutoriais úteis para fortalecer a segurança do seu site e aprender sobre os recursos do .htaccess.

Esperamos que este tutorial tenha ajudado você a aprender como restringir o acesso administrativo do WordPress por endereço IP. Você também pode querer ver nosso tutorial do WordPress sobre como limitar autores a seus próprios posts no admin do WordPress, ou o que fazer quando bloqueado do admin do WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

48 CommentsLeave a Reply

  1. isso é útil, mas eu só quero saber sobre o endereço IP dinâmico e o endereço IP estático para um site WordPress, qual é a maneira preferida de definir o endereço IP se o WordPress for gerenciado em uma rede doméstica na maior parte do tempo? E se e quando eu usar um plugin de segurança, vejo o endereço IP mudar?

  2. É possível permitir o acesso à área administrativa de um intervalo de rede inteiro usando o arquivo htaccess? Quero dizer, não apenas de endereços IP individuais, mas de todo o intervalo de uma rede. Seria complicado para mim listar todos os endereços IP, e seria muito mais fácil para mim configurar toda a rede, mas não tenho certeza se isso é possível com htaccess.

    • Se todos os endereços IP estiverem em uma rede, você pode usar um endereço IP parcial, mas ainda assim recomendamos um endereço IP completo para cada usuário.

      Admin

      • Obrigado por confirmar e pelo conselho. Haverá vários endereços IP envolvidos, então não tenho certeza se a manutenção se tornará complicada, mas ainda assim, aprecio sua recomendação e a considerarei seriamente porque acredito que seu conselho é justificado. Como você pode ver, às vezes é bom consultar profissionais.

    • Você precisaria ter seu FTP ou gerenciador de arquivos mostrando arquivos ocultos se você não o vir.

      Admin

    • Existem vários métodos para encontrar seu IP, um dos mais simples seria usar um site como supportally.com

      Admin

  3. Não está funcionando para mim. O código restringe o acesso do administrador, mesmo eu colocando o IP em uma lista de permissões.

  4. Após esta linha, você deve colocar uma condição de permissão para permitir arquivos php para evitar conflitos:

    allow from all

  5. Eu tentei o método de proteção por senha com .htaccess.

    Funciona, mas eu tentei em um site com Woocommerce, e então meus clientes não conseguiram fazer login.

    Só estou dizendo isso porque parece que ninguém mencionou que não funciona com sites que precisam que os clientes façam login!

  6. Olá, obrigado pelo tutorial. Infelizmente, não consegui fazer este arquivo .htaccess funcionar corretamente porque ele está negando acesso ao único endereço IP que incluí, o meu próprio… Tenho certeza de que copiei seu código exatamente e digitei meu IP corretamente. O arquivo .htaccess foi salvo em: /wp-admin/.htaccess

    Estou perdendo alguma coisa? Obrigado

  7. Olá pessoal,

    Eu bloqueei o wp-admin com .htaccess como mencionado neste artigo. Mas estou tendo um problema: meu arquivo admin-ajax.php também está sendo restrito no site público.

    Meu tema do WordPress usa muita funcionalidade do admin-ajax e eu coloquei a limitação de IP no acesso à pasta wp-admin, então não é acessível para todos os IPs.

    Alguém encontrou a solução para isso? Se sim, por favor, compartilhe.

    Obrigado(a) desde já
    Emaan

  8. Olá, isso parece realmente útil. Talvez você possa me ajudar. Em vez de permitir um IP específico, podemos permitir o acesso para países específicos no arquivo .htaccess? Espero que você possa me ajudar. Muito obrigado.

  9. Olá, isso funciona. Verifiquei e estou "proibido" de fazer login em qualquer outro computador. Não consigo nem ver o painel de login. No entanto, ainda recebo cerca de 24 tentativas de login falhas por dia de todos os diferentes endereços IP. Alguma ideia de como eles estão contornando isso? É algum tipo de ataque de força bruta? Obrigado, Scott.

  10. E como permitir o acesso apenas ao administrador do WordPress? Que código devo escrever sem nenhum IP? Eu só preciso saber uma função genérica que obtenha informações relacionadas ao administrador. Porque tenho que restringir o upload do meu plugin de outros usuários. E quem quer que use este plugin, preciso obter as informações do administrador para restringir conteúdos de outros e permitir apenas para o administrador do site.

  11. Eu tentei isso (depois de ter protegido com senha meu diretório wp-admin com sucesso e corrigido o erro de redirecionamento de acordo com seu outro artigo), mas então recebo um pop-up pedindo um nome de usuário e senha para o “Controle de Acesso de Administrador do WordPress”. Qual nome de usuário e senha devo usar para este novo pop-up? Nem o login do administrador do WordPress nem o login do diretório wp-admin funcionam para ele.
    Obrigado!

    • Ah, acredito que descobri o problema; parece funcionar, desde que eu me certifique de ter o código adicionado bem no início.

  12. I have a big problem :(

    I did what you said about creating the .htaccess and putting in the code snippet. It didn’t work so I deleted the .htaccess file and now I can’t login to my dashboard! It’s just a white screen :( Please help!!!

    Obrigado

      • Tudo o que fiz foi criar o arquivo na minha pasta wp-admin e, quando não funcionou, eu o excluí da pasta wp-admin. Não tenho certeza do que aconteceu, mas, depois de uma louca trilha de coelho e muitos tiros no escuro, consegui corrigir o problema adicionando ao topo do meu arquivo login.php. Ainda não sei o que deu errado ou por que o que fiz corrigiu isso... mas pelo menos está corrigido. Posso tentar novamente quando me sentir corajoso.

  13. Oi WPB, não acho que vá funcionar no Paquistão porque toda vez que reiniciamos ou desligamos nosso modem DSL, o endereço IP muda automaticamente. Se tiver alguma outra dica, por favor, responda-me.
    Obrigado

  14. oi, como fazer .htaccess com IP dinâmico (IP não estático)
    meu IP está sempre mudando xxx.xxx.xxx.12 xxx.xxx.xxx.453 xxx.xxx.xxx.076

    por favor ajude...

      • Você pode proteger sua instalação do WordPress via lista de permissões do .htaccess, mesmo que você tenha um endereço IP dinâmico. Você pode adicionar um intervalo de endereços IP à lista de permissões usando um intervalo /24 ou /16. Embora isso permita mais acesso do que se você sempre soubesse o IP que deseja permitir, ainda proíbe o acesso da maior parte da internet.

        Basta adicionar /24 ao final da linha "allow from" para permitir toda a sub-rede da classe C (256 IPs), ou adicionar /16 para permitir todo o intervalo de 65.536. Ou seja,

        allow from xxx.xxx.xxx.0/24

        permitirá acesso aos endereços IP de xxx.xxx.xxx.0 – xxx.xxx.xxx.255. e

        allow from xxx.xxx.0.0/16

        permitirá acesso a partir de endereços IP de xxx.xxx.0.0 – xxx.xxx.255.255

  15. Você diz para não mexer no arquivo .htaccess do site raiz... por quê? Porque você só quer limitar o acesso à pasta /wp-admin?

    Então… se eu quisesse ter um site WordPress hospedado externamente, mas usado como um recurso interno da empresa, de modo que apenas pessoas usando IPs da nossa empresa pudessem acessá-lo… se eu editasse o arquivo .htaccess da pasta raiz para permitir apenas IPs do nosso domínio… isso funcionaria da mesma forma que sua correção para /wp-admin, mas para o site inteiro, correto?

    • Sim Kyle, o motivo pelo qual dissemos para não colocar este código no arquivo raiz é que ele limitaria o acesso ao seu site apenas a esses IPs também. Mas se você está tentando criar um site para que apenas os funcionários da sua empresa possam acessá-lo apenas do trabalho, então você colocaria o arquivo .htaccess na pasta raiz.

      Admin

    • Posso limitar o acesso com base em outros critérios? Como preciso que apenas meu laptop acesse uma pasta específica? Eu poderia acessá-la de qualquer lugar, então seria difícil especificar um IP, pois meu acesso à internet seria baseado em DHCP. Existe um identificador único para cada máquina ou algo assim que possa ser usado como critério?

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.