Autenticação HTTP no Apache 2
jan 1st, 2008 by Marcus Vinicius Bastos Leandro
Olá a todos!
Neste meu primeiro artigo de 2008, vou escrever sobre um assunto que pode ajudar a muitas pessoas: Como restringir o acesso a determinados diretórios de um site, ou até mesmo, do diretório público principal do mesmo, usando o arquivo .htaccess no apache 2.
Vocês poderão ver, a seguir, como é simples esta configuração, de muita valia, para determinadas situações, como por exemplo:
- Definir um diretório, ou uma área do site, onde somente pessoas que possuam um login e uma senha possam entrar.
Para tanto, façamos os seguintes passos:
- Crie, no diretório onde deseja restringir o acesso, o arquivo .htaccess, isto se ele já não existir, com o seguinte conteúdo:
AuthName "Acesso restrito. Digite o login e a senha." AuthType Basic AuthUserFile /etc/httpd/conf/.users require valid-user
- Para criarmos os usuários e as senhas, vamos utilizar o programa htpasswd (htpasswd2 em algumas distribuições linux), como segue o exemplo: htpasswd -c /etc/httpd/conf/.users tux.Onde o parâmetro -c é utilizado apenas na primeira vez que executamos o comando. Ele diz ao programa para criar o arquivo. Nos próximos usuários a serem criados, o parâmetro -c pode ser omitido./etc/httpd/conf/.users é o caminho para o arquivo das senhas. O caminho é apenas uma sugestão, você pode criar o arquivo, por exemplo, dentro do diretório do seu site.tux é o nome do usuário a ser criado.Ao executar o comando, o programa vai pedir que seja digitada a senha, e logo após uma confirmação da mesma. Ao terminar de digitar a confirmação da senha, o arquivo está criado.
Pronto, está tudo criado e tudo funcionando. Para testar, basta acessar o diretório onde o arquivo .htaccess foi criado, pelo navegador. Você perceberá que abrirá uma janela de autenticação com o texto digitado no AuthName, solicitando o usuário e a senha. Após digitar corretamente as informações, o acesso será liberado. Se você digitar incorretamente, receberá o erro 401, Authorization Required.
Bem, espero ter ajudado! Qualquer dúvida é só deixar um comentário que logo responderei!
Alguém sabe se existe um meio do apache2 autenticar através de um SGBD como mysql, postgreSQL ou firebird?
Obrigado!
Descubra neste artigo como requerer uma autenticação com usuário e senha em pastas que você deseja tornar privadas no seu site ou blog….