Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso restrito com login e senha via .htaccess e .htpasswd

11-08-2007 19:30

Nesse artigo vou mostar uma forma de proteger o diretório com .htaccess.

Para quem não sabe, o .htaccess é um arquivo sem nome, somente o . e a extensão htaccess.

Antes de usar esse script, é necessário saber que ele funciona em um servidor apache, e que o script tem como base o diretório raiz do servidor.

Para saber o diretório raiz do servidor, crie um arquivo .php com o conteúdo:

<?php phpinfo(); ?>

Coloque no seu servidor e carregue via http. Isso vai gerar uma série de informações sobre o servidor.

Vá até a linha:
Additional Modules

Environment


Na tabela abaixo busque por DOCUMENT_ROOT, aqui é a segunda linha da tabela.

O caminho especificado pode ser algo parecido com:
/home2/linkprot/public_html/

a partir do public_html entram seus arquivos, index, pastas, etc.

Com base nessa linha acima, eu tenho uma pasta chamada protegido/ que desejo proteger, ou seja, o caminho até ela fica:
/home2/linkprot/public_html/protegido

Agora vou começar a restrição a pasta.

Crie um arquivo com esse código: (baseado na caminho acima)

AuthName "Documento Seguro" AuthType "Basic" AuthUserFile "/home2/linkprot/public_html/protegido/.htpasswd" require valid-USER

AuthName ( mensagem mostrada na caixa suspensa )
AuthType ( tipo de autenticação )
AuthUserFile ( caminho até o arquivo que tem os usuários e senhas )
require valid-user ( solicita a validação para acesso )


Salve esse arquivo como: .htaccess e coloque na pasta: protegido

Você notou que há o arquivo .htpasswd, ele é onde deve estar quem tem acesso ao diretório, e ele pode ficar onde você quizer, nesse exemplo, vou colocar ele no mesmo diretório protegido.

Os usuários e senhas no arquivo .htpasswd devem estar no formato:

login1:senha1
login2:senha2
etc.


Só que, as senhas devem ser criptografadas.

Você faz assim:
Cria um arquivo php com o código:

<?php // senha1 será convertido, e jogado no .htpasswd // mas na caixa de login, entra o senha1 mesmo echo crypt("senha1"); ?>

Pronto, o que for gerado, você usa no arquivo .htpasswd, ficando algo assim:

login1:DNn9xODzhTVa6
login2:eAn9/xOz.fh3Ge4
etc.


Com os arquivos .htaccess e .htpasswd em mãos, só colocar no diretório a ser protegido junto com os arquivos que estarão protegidos e pronto.

Só fazer o acesso via http para teste.

Dica:
- Para criar os arquivos, abra o bloco de notas, adicione os textos passados no artigo clique em Salvar Como... em Salvar como tipo, escolha Todos os arquivos.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado