Como faço para proteger com senha um site do Apache?

2

Eu adicionei o .htaccess

AuthType Basic
AuthName "restricted area"
AuthUserFile /path/to/the/directory/you/are/protecting/.htpasswd
require valid-user

e .htpasswd

nome de usuário: senha

No entanto, não está funcionando. Não me pede login.

    
por jldugger 15.10.2009 / 22:15

3 respostas

3

Seu arquivo .htaccess parece bem. A única razão pela qual não está funcionando como você tem é que o Apache está configurado para ignorá-lo.

Na sua configuração do apache, idealmente no arquivo de configuração sites- *, adicione:

<Directory /path/to/the/directory/you/are/protecting/>
      AllowOverride AuthConfig
</Directory>

A diretiva AllowOverride é o que permite o acesso à htaccess arquivo para funcionar. Por padrão, a maioria das configurações do Apache está desativada (definida como None ), incluindo o Ubuntu / Debian.

No seu arquivo .htpasswd , a senha deve ser criptografada. Você pode fazer isso mais facilmente usando a ferramenta htpasswd que o mezgani sugeriu. Será assim se você ler o arquivo:

bob:abJnggxhB/yWI

Com a diretiva AllowOverride definida para pelo menos AuthConfig , seu arquivo .htaccess no lugar e seu .htpasswd contendo um usuário com uma senha criptografada, você deve ser bom para ir.

    
por 16.10.2009 / 00:12
1

Primeiro, adicione isto seguindo a configuração do seu apache:


<Directory /path/to/the/directory/you/are/protecting/>
        AllowOverride AuthConfig
        Options Indexes MultiViews FollowSymLinks
        deny from all
        Order deny,allow
</Directory>

Depois, você pode criar o arquivo .htpasswd que conterá seu login e senha com o comando htpasswd e não manualmente


htpasswd -c /path/to/the/directory/you/are/protecting/.htpasswd username
Eu acho que mover o arquivo .htpasswd em algum lugar diferente do caminho do diretório que você está protegendo é mais seguro.

Além disso, por motivos de segurança, leia este artigo em securityfocus

    
por 15.10.2009 / 22:18
1

No Snow Leopard (OS X 10.6), a alteração do AllowOverride no httpd.conf permite apenas a proteção do .htaccess nas principais páginas da Web (/ Library / WebServer por padrão). A ativação para pastas de ~ / Sites de usuários individuais é controlada por um arquivo .conf separado para cada usuário. Nos meus sistemas, isso está em / etc / apache / users. A referência de Jeff Snider a "nos sites- *" pode ser onde os arquivos das páginas dos usuários individuais são configurados em seu sistema.

    
por 10.06.2012 / 23:27