Como proteger pastas do seu site com autenticação HTTP

A autenticação HTTP é um tipo de autenticação básica disponível na maioria dos servidores web. Através dela, você pode liberar o acesso aos arquivos de uma determinada pasta de seu site apenas para pessoas cadastradas com um nome de usuário e senha válidos.

Cabe lembrar que linguagens de servidor, como PHP, oferecem um método mais eficiente de proteger o acesso de áreas do seu site através de cookies e variáveis de sessão, mas você pode, assim mesmo, utilizar a técnica que será apresentada aqui. Ela funciona, inclusive, em provedores que oferecem apenas hospedagem básica em HTML, sem acesso a qualquer tecnologia server-side.

Neste exemplo, vamos demonstrar como criar a autenticação usando o servidor Web Apache.

Passo 1: Modificando o arquivo .htaccess

Os arquivos .htaccess ficaram bastante conhecidos recentemente por causa das chamadas URLs amigáveis e todo essa história de Web 2.0, mas eles servem para bem mais do que deixar suas URLs bonitinhas.

A primeira coisa que você tem que fazer é criar a pasta que você quer proteger. Dentro dessa pasta, coloque (por exemplo: envie por FTP) um arquivo .htaccess com este conteúdo:

AuthType Basic
AuthName "Documentos secretos"
AuthUserFile /home/andre/public_html/teste/.htpasswd
Require valid-user

Aqui as linhas que devem ser modificadas são a segunda e a terceira. Na segunda linha, você vai colocar, entre aspas, o texto que vai aparecer na janela que vai pedir a senha, neste exemplo: Documentos secretos.

Na terceira linha, você vai informar o caminho completo de um arquivo chamado .htpasswd , que é o arquivo que vai armazenar os nomes de usuário e senhas válidos. Se você não sabe qual é o caminho completo, pergunte ao seu provedor de hospedagem ou veja no seu CPanel ou outro sistema de administração, se disponível; O importante é que o arquivo .htpasswd esteja no local indicado pela linha do .htaccess. Neste caso, ele está dentro da pasta teste/, que é a própria pasta a ser protegida.

Passo 2: o arquivo .htpasswd

Esse arquivo guarda os usuários e senhas que têm permissão de acessar a pasta.

Pra criá-lo, você deve utilizar o comando htpasswd como root.

Se você tem acesso ssh ao seu servidor, pode executá-lo diretamente lá; Se não tem, pode criá-lo na sua máquina e, então, enviá-lo via FTP para o local adequado.

Na primeira vez que for usar o programa, digite isso:

# htpasswd -c .htpasswd andre

Esse comando cria (-c) um novo arquivo de senhas chamado .htpasswd (ele pode ter o nome qu você quiser, apenas preste atenção ao que está escrito no .htaccess) e já adiciona nesse arquivo um usuário chamado andre. Ao pressionar enter, ele vai pedir para que você digite a senha do novo usuário duas vezes.

A opção -c cria um novo arquivo, assim, deve ser usada só uma vez. Para adicionar mais usuários, use o comando com a sintaxe a seguir:

# htpasswd .htpassword joao

Onde .htpasswd é o arquivo no qual vc deseja adicionar o usuário e joao é o nome do usuário.

2 Respostas to “Como proteger pastas do seu site com autenticação HTTP”

  1. Adriel Says:

    Cara, desculpa dizer mas… não funcionou!
    Não sei o que estou fazendo de errado. Alguma luz?

  2. Ronan Says:

    qual é o nome que tem de ser dado ao arquivo ? ou nao importa ? Ex: teste.htacess ?


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: