Bonjour a tous,
comme l'indique le nom de mon post, je cherche à créer un module d'upload sur mon site et j'aimerais que ceci se fasse de façon sécurisée. J'ai fouillé un peu sur internet et l'upload d'image peu engendré énormément de faille de sécurité. Pour l'instant, voici les techniques que j'utilise pour sécurisé cela :
- Je filtre le nom de l'image (htmlentities) et verifie que l'extension est bien jpg, bmp, png ou jpeg.
- Je vérifie la taille max de l'image et le poid max de l'image
- je vérifie l'entête ($_file['fichier']['type'])
- je renomme avec un nom aléatoire MAIS avec la même extension
- Je stock le nom aléatoire dans une base de donnée
- Je télécharge l'image dans un répertoire qui est en dehors de la racine
- lorsque quelqu'un désire voir l'image, la page download.php va effectuer un readfile de l'image et modifier les en-tête de la page html pour forcer le téléchargement.
Normalement, les précautions permettent de ne pas interpréter l'image quelconques comme du php mais seulement, j'aimerais savoir s'il est dangereux de renommer l'image avec la même extension que le fichier ? une image reconnue comme valide (avec une longueur et une largeur) peut-elle contenir un virus ou un backdoor ou quelques chose d'autre (je ne suis pas spécialiste dans toute les technique de hack utilisé...) ?
merci de vos réponses.
Partager