Ticket #226 (new)

Opened 9 years ago

Last modified 7 years ago

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:1 Changed 9 years ago by jonathan

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é).

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.

comment:4 Changed 7 years ago by anarcat

  • Milestone set to 2.0
Note: See TracTickets for help on using tickets.