A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

2.9. Autenticação HTTP

Você pode permitir o acesso ao seu site para determinados usuários. Por exemplo, quando você está mostrando o seu site para o seu chefe, você vai dar a ele um usuário e senha para fazer login no seu site.

Para permitir o acesso ao seu site por nome de usuário e senha, você pode modificar o arquivo do virtual host da seguinte forma:

...
<Directory /home/username/helloworld/public/>
    DirectoryIndex index.php
    AllowOverride All
    AuthType Basic
    AuthName "Authentication Required"
    AuthUserFile /usr/local/apache/passwd/passwords
    Require valid-user
</Directory>
...

A linha 5 define o método de autenticação básica. O método mais Básico É importante esteja ciente, no entanto, que a autenticação básica envia a senha do cliente para o servidor sem criptografia. Este método não deve, portanto, ser usado para dados sensíveis. O Apache suporta uma outra autenticação método: AuthType Digest. Este método é muito mais seguro. Os navegadores mais recentes suportam a autenticação Digest.

A linha 6 define o texto que será exibido ao usuário quando ele tentar efetuar login.

A linha 7 define o arquivo onde as senhas serão armazenadas. Este arquivo deve ser criado com o htpasswd.

A linha 8 permitirá que qualquer pessoa faça o login listando no arquivo, para aqueles que digitarem sua senha corretamente.

Para criar o arquivo passwords, digite o seguinte comando:

htpasswd -c /usr/local/apache/passwd/passwords <username>

No comando acima, você deve substituir o espaço <username> com o nome do usuário. Você pode escolher um nome, por exemplo "admin". O comando solicitará a senha do usuário e vai salvar a senha no arquivo:

# htpasswd -c /usr/local/apache/passwd/passwords <username>
New password:
Re-type new password:
Adding password for user <username>

Quando o usuário tenta visitar o site, ele vai ver uma mensagem solicitando a autenticação HTTP. Para entrar em seu site, o visitante deve digitar o nome de usuário e senha corretos.

Para informações adicionais sobre autenticação HTTP, você pode consultar na documentação do Apache Autenticação e Autorização


Top