Protegendo seus diretórios no servidor com senha
Talvez você já tenha visitado uma página na web que já tenha exibido esta interrogação:

Diretório protegido por senha. Caso a senha esteja incorreta, seu computador explodirá. =D
Na verdade, você deve estar achando que fazer isso deve ser uma coisa de exxxxpert, mas na verdade nem é tão difícil assim, e o Tio Matheus vai te ensinar como fazer. Claro que isso deve ter alguma utilidade, como usar para páginar pagas, proteger arquivos, ou mesmo quando você está desenvolevendo uma página e não quer que ninguém veja. E coisas do gênero.
Quem vê isso, acha que deve ser algum script em php ou algo assim (Geeks, isso não vale pra vocês). Mas isso não é nenhum tipo de script. É só uma das milhares de funções do milagroso e extremamente útil arquivo .htaccess. O procedimento é bem rápido e pode ser feito em qualquer WebServer que esteja rodando Apache. Boa Sorte, e aqui vamos nós!
Para começar, você vai ter que criar um arquivo .htaccess, que pode ser criado com qualquer editor de texto que você tenha (Sim, você pensou o Notepad). Este arquivo deve ficar na pasta que você quer proteger. Se você quer proteger todo o conteúdo do site, coloque o arquivo na raiz do seu blog (Geralmente, a pasta public_html). Arquivo criado? Ok, vamos prosseguir.
O próximo passo é criar um arquivo .htpasswd (Mesmo esquema de criação do .htaccess), que é onde o usuário e a senha serão armazenados. Porém, existe um detalhe: Esse tipo de arquivo precisa de encriptação. Mas isso pode ser facilmente resolvido, usando este encriptador de senhas para o .htpasswd. Entre com o usuário e senha desejados para a visualização do diretório. Você vai obter, após a encriptação, algo como “joaozinho:c2LAVOjf7/zu6″. Cole isso no arquivo .htpasswd. Salve e feche o arquivo. Mais uma última consideração: É bom você renomear o arquivo para um nome de sua preferência, por questão de segurança. Portanto, um .chucknorrisistheking é mais seguro que um .htpasswd. Isso ocorre porquê alguém, de alguma forma pode tentar baixar o seu .htpasswd, e com o nome padrão, ele pode abrir o arquivo e tentar desencriptar sua senha. Cuidado!
Agora, vamos a parte mais importante, o que não faz dela a mais difícil. Vamos Configurar o .htaccess.
Bom, agora que você criou o arquivo .htpasswd (Ou o nome que você quis) abra novamente o arquivo .htaccess que você criou. Cole o seguinte código nele:
AuthUserFile /caminho/completo/para/o/htpasswd AuthType Basic AuthName "My Secret Folder" Require valid-user
Agora, troque o “/caminho/completo/para/o/htpasswd” por… Sim, o caminho completo para o .htpasswd! (Ou o nome qualquer que você botou, whatever) Como você adivinhou?
Lembre-se que o caminho deve ser completo, conforme é visto no servidor, como “C:\Webserver\wwwroot\.htpasswd” ou “/home/linuxrulez/htdocs/.htpasswd”.
ÔPA! Como diabos eu sei o caminho completo para a pasta onde está o meu .htpasswd?
Calma, não precisamos de pânico! Em caso de emergência, máscaras de oxigênio cairão sobre suas cabeças!
Caso o seu servidor tenha PHP (É CLARO que o seu servidor tem PHP, né?), você pode criar um arquivo em PHP com o nome que você quiser (Ex: querominhasenha.php) e, dentro dele, colar o seguinte código:
<?php phpinfo(); ?>
Beleza, agora abra o arquivo no seu navegador. Irá abrir uma enorme página. Lá no final, na seção “PHP Variables”, existe uma linha com o nome de “_SERVER["DOCUMENT_ROOT"]“. No campo cinza, estará o endereço completo da raiz do seu servidor. Então, é só de lá, você achar o seu arquivo .htpasswd. Simples: Se a raiz for “/home/apache/indio/” e você salvou o arquivo com o nome .vesgo dentro de uma pasta “arquivos” no seu webserver, você deverá trocar o “/caminho/completo/para/o/htpasswd” por “/home/apache/indio/arquivos/.vesgo”. Simples, não?
Agora que você colocou o seu .htpasswd corretamente preenchido, salve-o e…SIM! Você acabou! Tente acessar agora sua pasta, e veja o que vai deixar seus amigos com o queixo caído, enquanto eles tentavam acessar suas fotos particulares.

Tags: 

Arthur Astaroth Comentou:
Há! Estava aguardando esse artigo!
Tudo muito bem explicado. Só podia ter pegado menos leve comigo né? auaheuae
Abração cara
Em 28 de setembro de 2008 as 18:15
Raul S. Comentou:
Gostei bastante!
Bem que podia ter no WP.com
Em 28 de setembro de 2008 as 18:24
Speliarmos Comentou:
Opa muito bom post ;D
Em 28 de setembro de 2008 as 19:09
Eduardo Coelho Comentou:
Matheus, parabéns pelo artigo, só tenho uma observação:
O .htpasswd não precisa e não deve ficar em um diretório vísivel (ex.: /home/usuario/public_html), deixe ele em um diretório onde o Apache não leia e portanto, não pode ser visto através do navegador, exemplo: /home/usuario/ (fora do public_html no caso)
Em 30 de setembro de 2008 as 11:05
Daniel (Dani Piresk) Comentou:
Olá, legal matheus, porem tem uma forma mais fácil de se achar o path.
só colocar esse script na pasta do .htpassword e rodar via browser.
Flw, continue assim!
Em 22 de outubro de 2008 as 19:49
Daniel (Dani Piresk) Comentou:
Errr. O WP ignorou o script, então estou postando via PastBin ok.
http://pastebin.com/f42f6aea3
Em 22 de outubro de 2008 as 19:50