Ticket #226 (new)
Les .htaccess pointent en dur vers le dossier courant.
| Reported by: | lasselin | Owned by: | |
|---|---|---|---|
| Priority: | Milestone: | ||
| Component: | Version: | ||
| Severity: | Keywords: | "" | |
| Cc: | "" |
Description
Lorsque l'on déplace un dossier, si celui-ci contient un .htaccess et .htpasswd, la protection ne marche plus car le fichier .htpasswd est codé en dur ...
Change History
comment:2 Changed 9 years ago by benjamin
A faire :
dans m_bro.php lorsque l'on déplace un dossier (rename / move), lancer une procédure entre classes (comme alternc_add_domain) par exemple alternc_move_dir($olddir,$newdir); ainsi, m_hta contiendrait une fonction qui irait voir le newdir récursivement pour aller modifier les .htaccess qu'il trouverait.
Ou alors :
suivre le conseil de Jonathan et remplacer les .htpasswd par des
/var/alternc/html/protect/{initiale}/{login}/1 2 3 ...
Note : nécessite une procédure de migration donc de recherche récursive dans les dossiers de /html lors de l'upgrade (...)
comment:3 Changed 7 years ago by fil@…
- Type set to defect
Il y a un bug lié, dans le fonctionnement actuel de "répertoires protégés" : le bureau ne s'intéresse qu'au .htpasswd, en supposant qu'il est dans le même répertoire que le .htaccess qui protège effectivement ; or ce n'est pas obligatoirement le cas (exemple : SPIP peut créer .htpasswd et/ou .htpasswd-admin dans ecrire/data/, et ce fichier peut être utilisé pour protéger d'autres répertoires du site (par exemple, un répertoire de stats).
Il ne faudrait donc pas contraindre obligatoirement les .htpasswd à résider à un endroit précis.

Sans patch ... juste l'idée
Créer une arbo /var/alternc/protect/{initiale}/{login} contenant les htpasswd (avec un bel id auto incrémenté).