Améliorer la règle htaccess qui bloque l'accès aux fichiers cachés

On a déjà la règle suivante ici https://git.spip.net/spip/spip/src/branch/master/htaccess.txt#L96

# bloquer les acces aux fichiers caches (.svn, .git, etc)
RewriteRule /\\..*(/.*|$) - [F]

Mais, il semble qu'elle ne fonctionne pas dans tous les cas.

@marcimat disait sur team :

  • il est plus opportun de retourner une 404 plutôt qu'un forbidden afin d'éviter d’indiquer qu’un Git est présent cf https://stackoverflow.com/a/17916515
  • on ne sait pas si cette règle concerne juste les fichiers racines ou pas. Il y a ce / en premier tout de même, ce qui supposerait que ça bloque /.git/* mais pas /plugins/truc/.git/* ?

On a testé la règle suivante sur spip.net et ça fonctionne bien (du moins pour les .git)

RedirectMatch 404 /\.git

Quelques pistes à ce sujet :

https://www.petefreitag.com/item/823.cfm qui propose RedirectMatch 404 (?i)/\..+ pour bloquer l'accès à tous les dossiers cachés.

https://gist.github.com/donwilson/7bd7f978cce801d332da8499e3289dce qui mentionne aussi les fichiers de composer

https://typo3worx.eu/2015/11/unprotected-git-or-svn-directories-put-your-website-at-risk-of-information-disclosure/