Como lidar com as imagens enviadas pelo usuário [closed]

1

Estou usando o Restlet como backend tentando criar um pequeno aplicativo da Web.

Estou permitindo que os usuários façam upload de suas imagens de perfil, mas não tenho certeza de onde armazená-las. Google me diz para armazená-lo no sistema de arquivos e armazenar o caminho da imagem no DB que faz sentido.

Então, devo armazená-los em uma pasta da Web pública na qual o front-end da web reside? Mas isso não permitiria que as pessoas acessassem todas as imagens de perfil com muita facilidade?

Se eu não armazenar as imagens no diretório da web público, onde devo armazená-las e como protegê-las?

Meu servidor é servidor Ubuntu 12.04 obrigado antecipadamente

BTW algum conselho sobre como devo processar as imagens no upload? Estou tentando converter todos os formatos para png e redimensioná-lo

    
por Matthew Yang 28.03.2013 / 15:58

1 resposta

2
  1. Verifique cada imagem, se você usar o PHP, você pode chamar getimagesize ()
  2. Você pode salvar imagens em www, mas pode desativar a indexação de diretório ou
  3. Salve as imagens fora de www e, em seguida, você precisa ler as imagens internamente, por exemplo, lendo o arquivo.
  4. É melhor também desabilitar o PHP no diretório onde as imagens estão armazenadas.
  5. Eu também preferiria verificar a imagem ao carregá-la usando o getimagesize (). Tenho certeza de que, se você usar bibliotecas de imagens, poderá detectar tipos de imagens inválidas no caso de códigos maliciosos injetados.
por 28.03.2013 / 16:30