4
respostas

Como proteger uma pasta que esta dentro da pasta public para não ser acessada pela url ?

Estou usando o Intervention Imagem para upload de fotos e salvo em uma pasta dentro da pasta public, mais não gostaria que o usuário conseguisse ver as fotos pela url pois considero falha de segurança já que qualquer usuário poderia ver as fotos dos outros usuários pela url.

4 respostas

Opa, não sou especialista no laravel, mas como já trabalho com outras linguagens e com desenvolvimento web, vou deixar meu pitaco. Uma solução é usar alguma extensão de segurança do laravel e fazer o plugin proteger a pasta pública.

Outra solução é tirar da pasta public e escrever um código em php para servir a imagem a partir de alguma referência da imagem. Id do banco de dados, nome da imagem...

Vejo algumas opções:

Mudar o caminho que o Intervention usa para salvar a imagem modificada: http://image.intervention.io/api/save

Colocar um nome aleatório na imagem para tornar difícil a dedução https://laravel.com/docs/5.4/helpers#method-str-random

Usar um middleware para filtrar usuários autenticados E dono da foto solicitada https://laravel.io/forum/04-23-2015-securing-filesimages?page=1#reply-23498

Usar .htaccess ou nginx config para restringir acesso à pasta.

Minha resposta te ajudou? Dá um retorno ou marca como solução? Obrigado!

Obrigado pela resposta Ricardo Augusto ainda não resolvi mais sua resposta ajudou muito.