01st out 2009
Como proteger uma área do seu site com login e senha pelo Apache
Quando instalei o AWStats no servidor que estou usando, queria limitar o acesso a ele. Por IP, direto nas configurações do AWStats, não rola, pois estou sempre com um IP dinâmico. Então lembrei que dá para fazer com o Apache – e o, para mim, ainda obscuro .htaccess
Vi que existem diversas formas de se fazer isso, então vou descrever como eu fiz, e que funcionou de primeira.
Primeiro, criei um usuário no sistema operacional
sudo htpasswd -c /etc/httpd/conf/users username
Claro, troque username pelo nome de usuário que você quer.
Dei as devidas permissões ao arquivo
sudo chmod 644 /etc/httpd/conf/users
Dentro da diretiva Directory do Virtual Host, troquei o AllowOverride none por AlowOverride AuthConfig
Algo como:
<Directory /home/www/meusite/awstats>
Options Indexes FollowSymLinks
AllowOverride AuthConfig
</Directory>
Agora, só falta criar dentro da pasta que você quer proteger um arquivo .htaccess com o conteúdo
AuthType Basic
AuthName “Restricted Files”
AuthUserFile /etc/httpd/conf/users
Require valid-user
Resumidamente, os passos são:
- criar um usuário para diretórios password-protected
- dizer no Apache que tal diretório é protegido
- dizer para o Apache qual é o usuário (podem ser vários, claro) que possui acesso
Pronto quando você tentar acessar o endereço relativo a essa pasta, o browser abrirá uma janela de login e senha.
Ah, a referência de onde tirei isso tudo: http://www.whoopis.com/howtos/apache-auth.html

Um dia isto pode ser muito util. Espero quando precisar, encontrar
Você também pode colocar tudo na diretiva Directory, o arquivo .htaccess é opcional, AFAIK.
Chris, tem como eu restringir o acesso ao wp-admin do I/O pelo MAC da máquina acessando o servidor do UOL Host ?
Abraços
@Otinho tentei aqui e não rolou, mas devo ter feito besteira. Vou rever
@Danilo não sei se tem como fazer pelo webserver isso… sei que dá pra fazer direto no script PHP esse controle…