Lista de verificação de segurança de upload de imagens PHP: proteção abrangente
Para garantir a segurança de seu script de upload de imagens PHP, é crucial implementar medidas de segurança completas. Aqui está uma lista de verificação abrangente para orientá-lo:
- Desativar execução de PHP: Evite que o código PHP seja executado no diretório de upload usando um arquivo .htaccess.
- Filtrar para PHP em nomes de arquivos: Rejeitar uploads com nomes de arquivos contendo "php."
- Restringir arquivo Extensões: Limite as extensões de arquivo aceitas a imagens (por exemplo, jpg, jpeg, gif, png).
- Verifique o tipo de imagem: Use getimagesize() para confirmar se os arquivos enviados são genuínos tipos de imagem.
- Disallow Double File Extensions: Verifique se há arquivos com múltiplas barras em seu tipo MIME, indicando uma possível tentativa de enviando uma imagem com um script malicioso.
- Renomear arquivo: Altere o nome do arquivo enviado para evitar a exploração por meio de nomes de arquivo previsíveis.
- Fazer upload para um subdiretório: Armazene as imagens enviadas em um subdiretório para evitar o acesso direto ao site.
Adicional Recomendações:
- **Use move_uploaded_file(): atribua arquivos enviados ao caminho de destino usando move_uploaded_file().
- GD (ou Imagick) Processamento: Rerenderize imagens enviadas usando GD ou Imagick para mitigar possíveis ameaças.
- Upload restritivo Diretório: Mantenha os diretórios de upload altamente restritos para evitar exploração.