Salut tous,
Beaucoup de monde utilise le mod de Max, Uploads Images, qui est génial. :)
Cependant, il est possible de faire mieux en terme de sécurité.
Dans le mod d'origine, on trouve ceci dans le
.htaccess du dossier
uploads/ :
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI -Indexes
C'est un début, mais ce n'est pas suffisant. Il faut prévoir toutes les extensions de fichiers, ce qui est très difficile !
Par exemple, un script
.php3 passe comme une lettre à la poste.
Je propose une solution bien plus efficace et qui fonctionne avec tous les types de fichiers :
SetHandler default-handler
ForceType application/octet-stream
Header set Content-Disposition attachment
<FilesMatch "\.(gif|jpe?g|png)$">
ForceType none
Header unset Content-Disposition
</FilesMatch>
Header always set X-Content-Type-Options nosniff
Qu'est-ce que ça veut dire ?
Ca veut dire que tous les fichiers qui ne sont pas des images seront forcés au téléchargement mais jamais exécutés !
C'est tout de même beaucoup plus sécuritaire.
Si jamais vous avez des fichiers autres que des images et que personnes ne doit pouvoir télécharger dans le dossier
uploads/, c'est pas malin du tout, mais ça peut arriver.
A ce moment, il vous suffira de prévoir une "
page de ban" et de mettre dans ce
.htaccess ce qui suit :
RewriteCond %{REQUEST_URI} !(\.jpe?g|\.gif|.png)$ [NC]
RewriteRule .* https://ban.chez-oim.org/?uploads [L,END]
SetHandler default-handler
ForceType application/octet-stream
Header set Content-Disposition attachment
<FilesMatch "\.(gif|jpe?g|png)$">
ForceType none
Header unset Content-Disposition
</FilesMatch>
Header always set X-Content-Type-Options nosniff
Bien entendu, la redirection peut être différente. Elle peut être, par exemple :
RewriteRule .* https://monforum.tld/interdit.php [L,END]
J'espère que ce bout de code Apache va t'inspirer, Alain. ;)
Peut-être que ce post serait mieux en privé ? ???