WordPress

Inscreva-se em nosso canal no Youtube Daviwp

Colocando autenticação HTTP no seu painel wordpress

12/02/2013 WordPress (9) comentários

Segurança nunca é demais, então esta dica permite adicionarmos mais um nível de segurança ao painel administrativo a nível de servidor e não do WordPress. A proteção vai ser incluida para ter acesso a pasta wp-admin do seu WordPress. Assim vamos ter um usuário e senha para ter acesso a pasta wp-admin onde esta o painel do WordPress e o usuário e senha do nosso painel, aumentando consideravelmente a segurança do nosso painel administrativo.

Somente com isso nós já vamos evitar qualquer tipo de code inject através do form de login pois como a primeira senha é a nível de servidor esta já anula qualquer forma de code inject.

Vamos precisar criar dois arquivos para proteger a pasta wp-admin, um arquivo .htaccess e .htpasswd. Este dois arquivos deverão ser colocados dentro da pasta wp-admin da sua instalação do WordPress.

Criando o arquivo .htpasswd

Para criar este arquivo vamos utilizar um gerador de senha para arquivos .htpasswd, pois a senha neste arquivo é encripitada.
Acesse o seguinte link Gerador de .htpasswd, preencha os dados do formulário com seu nome de usuário e senha e clique no botão Create .htpasswd file. Feito isto será criado uma linha de código que contem seu nome de usuário e sua senha encripitada, copie esta linha cole no editor de que você utiliza e salve o arquivo como .htpasswd, sem extensão mesmo.

Criando o arquivo .htaccess

Abra seu editor e insira o código abaixo em um novo documento. Neste código baixo você vai precisar alterar somente duas linhas. A linha onde esta /path/to/ deve ser substituida pelo caminho absoluto do seu servidor onde esta a sua pasta wp-admin, geramente este caminho sempre se inicia com /home/.
A segunda linha a ser alterada é a linha onde esta seunomedeusuario, onde você deve inserir o nome de usuário que você utilizou para criar o arquivo .htpasswd. Após feito isto salve seu arquivo com o nome.htaccess

ErrorDocument 401 /%{REQUEST_URI}/myerror.html
ErrorDocument 403 /%{REQUEST_URI}/myerror.html
AuthName "Acesso Restrito"
AuthUserFile /path/to/wp-admin/.htpasswd
AuthGroupFile /dev/null
AuthType basic
require user seunomedeusuario

Após ter criado estes dois arquivos, basta usar sua ferramenta de FTP e enviar estes dois arquivos para dentro da pasta wp-admin. Feito isto faça o teste acessando a url do seu painel de controle do WordPress.

Post: Mateus Neves

daviwp

Meu nome é Davi Alves desenvolvedor web e WordPress developer, residente de Belo Horizonte, sou um dos organizadores do WordCamp evento oficial do WordPress em BH e co-fundador do Belo Horizonte WordPress Group juntamente com o fundador Mateus Neves, sou articulista de alguns sites, e fundador do daviwp.com, aqui compartilho conhecimentos para toda galera aficionada em WordPress.

  • Pingback: Colocando autenticação HTTP no seu painel wordpress … | Magno Valdetaro | Feedshare()

  • Antonio

    Eu nunca consigo fazer isto! Temos atrás tentei, tentei e nada… desisti. Hoje tentei novamente e deu erro: “This webpage has a redirect loop”

    • daviwp

      Antonio, o que pode esta acontecendo que seu servidor não roda apache esse metodo funciona so com apache

      • Antonio

        Oi Davi, mas todo servidor PHP é Apache, não? O meu site é hospedado na Hostgator e usa plano PHP (Linux)

        • daviwp

          Não Antônio tem o Debian tb que faz o mesmo do Apache, só que esse método autenticação HTTP é só no Apache veja com seu suporte do seu servidor e certifique que esta usando apache, caso não peça um exemplo de autenticação HTTP com o Debian.

          • Antonio

            Oi Davi, o suporte respondeu: “Utilizamos servidores com sistema CentOS em Apache.”

          • Marllon

            Olá,
            O meu deu Internal Server Error

            Abraços

  • Pingback: A Estrutura de um URL, URI, Semântica e AJAX - BitLoom Blog()

  • daviwp

    Olá Alexsandro, esse problema não era para acontecer verifica o cache do seu navegador, lembrando que o endereço deve esta correto AuthUserFile /path/to/wp-admin/.htpasswd