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é ? ???
Bonjour,
Non toutes les solutions peuvent-être mises ici sans soucis tout le monde peut y participer :)
Je ne met plus rien de spécial dans le Htaccess à part le minimal vital car chaque mutualisé à ses propres règles et cela ne fonctionne pas de la même façon sur chaque serveur.
Cela m'a valu des centaines de messages donc je laisse le soin à chacun de sécuriser leurs fichiers aux mieux et un conseil peut toujours être demandé ici.
Sur certains serveurs même un bête -Indexes ne fonctionne même pas et met une erreur 500.
Donc c'est au cas par cas pas de soucis.
:)
Ouhlala !
Même si les .htaccess sont limités par les hébergeurs, il va y avoir des surprises chez certains... :o