Ubuntu 14 Server - Configurando um prompt de senha de nome de usuário antes de baixar um arquivo

1

Eu tenho um servidor Ubuntu 14 configurado (estou usando uma pilha LAMP) e atualmente está hospedando um site que eu fiz. Eu fiz upload de um arquivo zip lá e qualquer pessoa com o link pode ir a uma cabeça e baixá-lo. No entanto, isso pode se tornar muito rápido. Digamos que os arquivos possam ir para um caminho como:

homepage.com/src/file1.zip

Qualquer um com curiosidade suficiente pode ir em frente e digitar homepage.com/src/ e ver o diretório inteiro e começar a baixar os outros arquivos que eles podem ver lá. Isso também não impede que eles tentem acessar outras pastas como homepage.com/source/ e apenas tentam explorar pastas.

Para evitar isso, minha idéia é criar um "AuthFile" para minha pasta / arquivo, de modo que quando alguém se deparar com ele, eles tenham que inserir a senha correta para poder baixá-lo. Seria semelhante a proteger a página do phpMyAdmin como mostrado neste tutorial e resultaria nesse prompt:

No entanto, depois de criar AuthFiles, não acho que posso aplicar isso a uma pasta ou arquivo. Assim, trazendo-me a minha questão principal:

Como posso solicitar que o usuário insira uma combinação de senha de nome de usuário antes de poder baixar um arquivo?

Se isso não é uma opção, como vocês conseguem controlar quem faz o download de certos arquivos em um servidor, certificando-se de que ninguém simplesmente consegue subir em seus arquivos?

Qualquer ajuda e orientação é muito apreciada.

    
por Razgriz 26.09.2016 / 15:22

1 resposta

1

O que você quer é chamado de .htaccess no apache.

Consulte a documentação do Apache para obter detalhes.

Basicamente, o .htaccess permite alterar a configuração do Apache em um nível de pasta. Você acabou de colocar um arquivo chamado .htaccess na pasta e editá-lo. Para autenticação básica, primeiro você precisa criar um arquivo de credencial:

sudo htpasswd -c /etc/apache2/.htpasswd username

Em seguida, você pode colocar um arquivo chamado .htaccess na pasta que deseja proteger, com o seguinte conteúdo:

AuthType Basic
AuthName "Protected"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

O caminho para o .htpasswd pode ser escolhido livremente, mas tenha o cuidado de colocá-lo em uma pasta que não seja acessível ao público.

    
por 26.09.2016 / 15:49