Prosa Digital – Tecnologia e Sociedade

Artigos técnicos e políticos sobre tecnologia, internet, programação, análise de sistemas, sociedade, política, religião entre outros. Seja bem vindo!

Autenticação HTTP no Apache 2

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:

  1. 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
  2. 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!

Related posts:

  1. Como recuperar a senha de root
Tagged as: , , , , ,

4 Comments

  1. Só não precisava escrever “muita”…

  2. Ótima dica!
    Alguém sabe se existe um meio do apache2 autenticar através de um SGBD como mysql, postgreSQL ou firebird?
    Obrigado!

Trackbacks

  1. Fernando Quadro » Blog Archive » Autenticação no Apache2
  2. Usuário mvleandro no diHITT

Leave a Response