Valider d50cb7bb rédigé par marcimat's avatar marcimat
Parcourir les fichiers

security: Effectivement bloquer les fichiers cachés dans le htaccess

L’histoire est quelque peu ubuesque, et remonte à il y a 16 ans via 26a1f490
qui a déplacé des règles trop bas. Ça ne bloquait plus les .svn depuis,
à cause du fait que plus haut, si c’est un fichier, on exécute la règle
`[S=100]` qui saute les prochaines `RewriteRule`.

- #5109 a semblé corriger en utilisant `RedirectMatch`, qui n’est pas affecté
  par le Skip (sans se rendre compte du problème initial)
- #5432 a remis une `RewriteRule`, et du coup, de nouveau paf.

Ce n’est pas toujours très visible car les serveurs eux-mêmes bloquent
déjà souvent ces répertoires cachés.

Donc, on remonte bien plus haut les règles de blocage des fichiers cachés
et on leur fait un titre dédié.

Refs: #5109 #5432 spip-team/securite#4844
parent 5eeb6f03
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+10 −8
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -37,9 +37,15 @@ RewriteRule ^(.*) - [E=BASE:%1]




################ GESTIONS DES URLS SPIP #######################
############# GESTIONS DES ACCES FICHIERS #####################
###

# bloquer les acces aux fichiers caches (.svn, .git, etc)
RewriteCond %{REQUEST_URI} !^/.well-known/
RewriteRule "(^|/)\." - [R=404,NC,L]
# bloquer les informations Composer
RedirectMatch 404 ^/composer\.(json|lock|phar)$

# Si le fichier ou repertoire demande existe
# ignorer toutes les regles qui suivent
<IfModule mod_headers.c>
@@ -56,6 +62,8 @@ RewriteRule "." - [skip=100]
#
###

################ GESTIONS DES URLS SPIP #######################
###

###
# Compatibilite avec les URLS "html" (pour transition sympa)
@@ -100,12 +108,6 @@ RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]
###
# Divers

# bloquer les acces aux fichiers caches (.svn, .git, etc)
RewriteCond %{REQUEST_URI} !^/.well-known/
RewriteRule "(^|/)\." - [R=404,NC,L]
# bloquer les informations Composer
RedirectMatch 404 ^/composer\.(json|lock|phar)$

###
# Fichiers "standards" (si absents de la racine)
#