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

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.

Bookmark e Compartilhe
Categorias: Artigos, Web | Tags: , , , , ,

6 Comentários

  1. Arthur Astaroth Comentou:

    Há! Estava aguardando esse artigo! :D

    Tudo muito bem explicado. Só podia ter pegado menos leve comigo né? auaheuae

    Abração cara :D

    Em 28 de setembro de 2008 as 18:15

  2. Raul S. Comentou:

    Gostei bastante! :) Bem que podia ter no WP.com

    Em 28 de setembro de 2008 as 18:24

  3. Speliarmos Comentou:

    Opa muito bom post ;D

    Em 28 de setembro de 2008 as 19:09

  4. 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

  5. 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

  6. 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

Deixe seu comentário!




Aviso:

Todo o conteúdo que você escrever será de sua inteira responsabilidade. Lembre-se também de que aqui não é a casa da mãe Joana. Logo, favor se conter ao escrever sua opnião sobre o post, evitando escrever comentários ofensivos e/ou racistas, pois estes serão sumariamente apagados. Modere seu linguajar!

É expressamente proibida a postagem de conteúdo ilícito, tais como links de Warez ou Pirataria.

Para finalizar, é direito do Autor do blog deletar quaisquer comentários que ele considere ofensivos ou não respeitem regras básicas da linguagem ;)

Conteúdo

Login