Password Protection with?htaccess

Introdução

É sempre uma boa ideia adicionar proteção por senha a qualquer uma das pastas / páginas da Web do seu site se você quiser restringir o acesso a elas. O método para aplicar o mesmo é mais importante. Podemos usar o PHP para autorizar as informações em cada página, mas isso não protege suas imagens ou qualquer outra mídia, não é? Então, podemos usar outro método conhecido como proteção de senha do htaccess?or autenticação htaccess. É confiável e muito mais fácil.

Objetivo

Este blog ajuda você a saber como restringir o acesso ao site de usuários não autorizados.

Por favor, siga os passos abaixo:

Passo 1. Usar proteção de senha do htaccess precisamos criar dois arquivos no diretório em que você deseja restringir o acesso: –

1) .htaccess
2) arquivo .htpasswd

Passo 2. Adicione o seguinte código no arquivo .htaccess que você criou na etapa 1.

O código .htaccess

AuthType Basic AuthName "Sem acesso" AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd requer usuário válido

Observação: Você pode substituir "C: / wamp64 / www / test_project /" com sua própria estrutura de diretórios. O código acima (diretivas) é descrito abaixo:

Eu.) AuthType Da diretiva AuthType, você pode selecionar o método usado para autenticar o usuário.

ii.) AuthName Substituir "Sem acesso"para qualquer nome de acordo com sua exigência. Esse nome será exibido na caixa de alerta, quando o usuário tentar abrir uma página protegida por htaccess.AuthName?directive sets the?domain?to be used in the authentication.

Once a client has passed the authentication in the?”Sem acesso"zona, então não há necessidade de digitar a senha para acessar qualquer outro arquivo na mesma zona no mesmo servidor. Portanto, para impedir que um usuário digite a senha novamente e novamente, permitindo que várias áreas restritas compartilhem o mesmo domínio.

iii.) AuthUserFile

  • Você precisa adicionar seu caminho .htpasswd no lugar de "C: /wamp64/www/test_project/self_stitch/.htpasswd".
  • O "AuthUserFile"valor é sempre específico para sua configuração de host.
  • Se você não sabe qual deve ser o valor, faça um
  • Para isso você só precisa adicionar a linha "<? Php phpinfo ();?>" No arquivo phpinfo.php. Você pode encontrar o arquivo phpinfo.php na sua pasta raiz (www para localhost) e, em seguida, executar o arquivo phpinfo.php no navegador. Por exemplo, no localhost, execute localhost / phpinfo.php

NOTA:

1.Para proteger com senha mais de um arquivo na mesma pasta, apenas crie mais blocos <Files> </ Files> dentro do mesmo arquivo .htaccess – por exemplo:

AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName "Minha página secreta" <Arquivos "mypage.html"> Exigir usuário válido </ Files> <Files "myotherpage.html"> Requerer usuário válido </ Files>

2. Para permitir que apenas os tipos específicos de arquivos sejam acessados ​​pelos usuários, você precisa adicionar o seguinte código:

AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName "Minha página secreta" # negar * tudo * <FilesMatch>. * "> Pedido Permitir, Negar Negar de todos os </ FilesMatch> # Permitir apenas * determinados * arquivos necessários: <FilesMatch ". * \. (Php | html | css | js | JS | CSS) $"> Pedido Permitir, Negar Permitir de todos os </ FilesMatch>

Aqui, primeiro estamos restringindo o acesso a tudo usando <FilesMatch ". *"> E depois disso estamos permitindo que apenas certos arquivos (php, html, css, js) sejam acessados ​​usando <FilesMatch ". * \. (Php | html | css | js | JS | CSS) $ "> Nosso exemplo não permite acesso a outros arquivos, por exemplo. .jpg, .png, etc. Você também pode permitir o acesso de um endereço IP específico usando "permitir a partir de 12.34.56.78" ao invés de usar "permitir que a partir de todos“.

3. Para adicionar a senha do htaccess apenas para os tipos específicos de arquivos, você precisa adicionar o seguinte código:

AuthType Basic AuthName "área restrita" AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd # mas agora permite apenas * determinados * arquivos necessários: <FilesMatch ". * \. (Txt) $"> require valid-user < / FilesMatch>

Usando o código acima, todos os arquivos serão acessados ​​sem uma senha, mas os arquivos com extensão .txt precisarão de nome de usuário e senha para serem acessados.

4. Se você precisar aplicar a senha de htaccess para todos os arquivos, exceto um que adicione o seguinte código:

AuthType Basic AuthName "área restrita" AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd <FilesMatch ". *"> Exigir usuário válido </ FilesMatch> # mas agora permitir apenas * determinados * arquivos necessários: <FilesMatch " . * \. (txt) $ "> Exigir tudo concedido </ FilesMatch>

No exemplo acima, exceto arquivos .txt, todos os outros arquivos precisarão do nome de usuário e senha a serem acessados.

iv.) requerer

A linha "exigem-usuário válido"significa que qualquer usuário especificado em seu
Passo 3. Adicione o nome de usuário e a senha no arquivo .htpasswd conforme descrito abaixo:

O código .htpasswd

john:$apr1$DObQIej5$0ZmEaLN42GEz/XJEiJXh9.

Eu.) o

ii.) As senhas são criptografadas usando o MD5 para fins de segurança.

iii) Como você pode ver acima, somente o usuário 1 é permitido, ou seja, john com a senha: Senha real: egypt4721 Senha criptografada: $ apr1 $ DObQIej5 $ 0ZmEaLN42GEz / XJEiJXh9. (Criptografado usando MD5).

iv.) Para gerar o arquivo .htpasswd use o link abaixo:

https://www.htaccesstools.com/htaccess-authentication/

Depois de criar o arquivo .htaccess e .htpasswd no diretório que você deseja proteger, um alerta será exibido quando você abrir o seu site. Por favor, consulte a imagem abaixo:

A proteção por senha

Clique aqui para baixar um projeto de amostra com .htaccess protegido por senha.


Aparajita Singh

Aparajita Singh

Aparajita Singh is an experienced Software engineer in PHP. She also has knowledge of C, JAVA and database design. She has been working in the IT Industry from the last 2yrs and still looking forward to achieving more in the IT industry. She lives in New Delhi and her hobby is to write the technical writeups.

Leave a Reply

Your email address will not be published. Required fields are marked *