Nous permettons aux utilisateurs de télécharger un certain nombre de fichiers, tous renversant à Scribd (Doc, XLS, PPTS, etc.) ou d'afficher une vidéo nous-mêmes (FLV, MOV, MP4, etc. dans FlowPlayer).
Pour éviter les utilisateurs téléchargeant des fichiers dangereux, nous vérifions un ensemble d'extensions de fichier "sûre" connues, puis vérifiez la sortie de la commande Fichier -i -b qui nous donne le type MIME.
Usage: file [OPTION]... [FILE]...
Determine file type of FILEs.
...
-i, --mime output mime type strings
Est-ce une protection adéquate pour garder les "scripts dangereux" de notre serveur ou que les gens utilisent quelque chose de différent?
Probablement pas sûr. Il existe diverses attaques d'ascendance le type de contenu Sniffer dans la croire qu'un fichier est le type de contenu incorrect. Voici un exemple particulièrement infâme:
http://adblockplus.org/blog/the-hazards-of-mime-sniffing
La suggestion de l'affiche précédente est bonne pour protéger votre serveur de scripts malveillants: déplacez les fichiers téléchargés à l'extérieur de la racine Web et écrivez un script pour les envoyer à l'utilisateur. Vous souhaitez éviter d'avoir votre serveur Web ou votre exécution exécutant des fichiers téléchargés d'un utilisateur. Vous n'avez pas spécifié de langue, mais il y a un fichier PHP "ici:
http://php.net/manual/fr/function.readfile.php
Un autre aspect négligé de la "sécurité des fichiers" consiste à garder des fichiers sans danger pour vos utilisateurs. Si vous laissez les utilisateurs télécharger des fichiers téléchargés par d'autres utilisateurs, les utilisateurs malveillants peuvent utiliser votre site pour diffuser des logiciels malveillants. Dans ce cas, vous voulez probablement mettre en quarantaine des fichiers téléchargés jusqu'à ce que vous puissiez les numériser avec AV.