Salut
Je cherche à faire un upoad d'avatar le plus sécurisé possible.
Actuellement je fais ceci :
- je vérifie que le nom du fichier d'origine ne contient pas "php", "html" ou 2 "." <-- si détecté annule l'upload
- je renomme le fichier d'origine avec un non codé (md5 ... )
- je vérifie l'extension de façon basique avec pathinfo
- je vérifie la taille du fichier
- je vérifie le mime avec getimagesize mais également avec fileinfo (2 précautions valent mieux qu'une)
- Une fois ces tests effectués l'image est donc temporairement uploadée dans un répertoire inconnu et bloqué pour les utilisateurs (deny from all)
- je redimensionne (crop) l'image avec GD
Ensuite cette image est modérée avant d'être renommé id_membre.(jpg ou png) et déplacé dans le bon dossier public du site et visible de tous.
Elle sera donc affiché simplement de cette façon : <img src="id_membre.ext" />
la question qui se pose c’est comment la modérer sans risque d’exécuter un script caché malveillant? et bien vérifier lors de la modération que l'image ne contient aucun script suspect?
Pour visualiser l'image je peux toujours passer par readfile il me semble exact?
lireimg.php?nom=image.ext
mais même si l'image s'affiche correctement rien n’empêche la présence de code malveillant exact? Comment regarder l’intérieur de l’image? la source?
Si du php ou autre code malvaillant se situe dans l'image peut-il être exécuté lorsqu'on fait ceci : <img src = "imagehack.jpg" />
ou si on met l'url suivante directement : ndd.ext/images/imagehack.jpg
je ne sais absolument pas si il y a des techniques de hacks pour y arriver.
Comment empêcher également que du php soit exécuté dans certains répertoires du site?
J'ai bien vu ceci : php_flag engine off
Mais il semblerait que ça ne soit pas très fiable et bien interprété sur tous les hébergements.
Ah et derniere question comment bloquer les fonctions de type eval etc. via le .htaccess?
Je cherche à faire un upoad d'avatar le plus sécurisé possible.
Actuellement je fais ceci :
- je vérifie que le nom du fichier d'origine ne contient pas "php", "html" ou 2 "." <-- si détecté annule l'upload
- je renomme le fichier d'origine avec un non codé (md5 ... )
- je vérifie l'extension de façon basique avec pathinfo
- je vérifie la taille du fichier
- je vérifie le mime avec getimagesize mais également avec fileinfo (2 précautions valent mieux qu'une)
- Une fois ces tests effectués l'image est donc temporairement uploadée dans un répertoire inconnu et bloqué pour les utilisateurs (deny from all)
- je redimensionne (crop) l'image avec GD
Ensuite cette image est modérée avant d'être renommé id_membre.(jpg ou png) et déplacé dans le bon dossier public du site et visible de tous.
Elle sera donc affiché simplement de cette façon : <img src="id_membre.ext" />
la question qui se pose c’est comment la modérer sans risque d’exécuter un script caché malveillant? et bien vérifier lors de la modération que l'image ne contient aucun script suspect?
Pour visualiser l'image je peux toujours passer par readfile il me semble exact?
lireimg.php?nom=image.ext
mais même si l'image s'affiche correctement rien n’empêche la présence de code malveillant exact? Comment regarder l’intérieur de l’image? la source?
Si du php ou autre code malvaillant se situe dans l'image peut-il être exécuté lorsqu'on fait ceci : <img src = "imagehack.jpg" />
ou si on met l'url suivante directement : ndd.ext/images/imagehack.jpg
je ne sais absolument pas si il y a des techniques de hacks pour y arriver.
Comment empêcher également que du php soit exécuté dans certains répertoires du site?
J'ai bien vu ceci : php_flag engine off
Mais il semblerait que ça ne soit pas très fiable et bien interprété sur tous les hébergements.
Ah et derniere question comment bloquer les fonctions de type eval etc. via le .htaccess?