Como proteger um diretório por senha?

É possível que você queira proteger diretórios ou arquivos confidenciais de sua empresa de tal forma que, apenas os conhecedores da senha possam visualizar seu conteúdo via web. Disponível apenas na plataforma de hospedagem Linux com servidor web Apache. No caso de ter solicitado Nginx, favor abrir chamado para que possamos lhe ajudar nessa questão.

Siga os passos abaixo :

1) Crie um arquivo chamado .htaccess no diretório em que você quer proteger.

2) No arquivo criado coloque o seguinte texto abaixo, com as devidas alterações:

AuthUserFile /home/sua_conta/www/diretorio_a_ser_protegido/.htpasswd
AuthGroupFile /dev/null
AuthName Protegido!!
AuthType Basic
<Limit GET POST>
require user username_desejado
</Limit>

3) Conecte via SSH em sua conta (será necessário abrir chamado solicitando ativação do SSH), e no diretório que vai proteger (/home/sua_conta/www/diretorio_a_ser_protegido), digite:

htpasswd -c .htpasswd username_desejado

Esse comando fará com que o arquivo de senhas chamado .htpasswd seja criado, e o usuário “username_desejado” seja adicionado ao mesmo. Pode ser usado outro nome ao invés de .htpasswd, e este poderá estar em qualquer outro diretório, desde que as devidas alterações sejam feitas no arquivo .htaccess, no que se refere ao caminho de chamada do arquivo de senhas.

Não use o parâmetro -c após o arquivo estar criado, ou isso apagará os usuários cadastrados.

Você pode também habilitar todos os usuários inscritos em seu arquivo .htpasswd a verem o conteúdo de um diretório. Para tal, apenas troque a linha require user xxxxx para require valid-user no arquivo .htaccess e qualquer usuário inscrito em .htpasswd estará apto a transitar pelo diretório.

O arquivo .htaccess e o .htpasswd não ficarão visíveis no FTP.

Obs.: você também pode gerar senhas .htpasswd através de um site.