Erreur 404 retournée lors de l'accès à l'URL arborescente générée pour un auteur lorsque #NOM commence par 0x[0-9a-f]+ #3298

Closed
opened 8 years ago by g0uZ · 4 comments
g0uZ commented 8 years ago

Tout est dans le titre :)

Un auteur dont le nom commence par 0x va avoir une URL arbo générée non valide :

Un auteur dont le nom est 0xA47 va créer cette entrée dans la table spip_urls :

mysql> select * from spip_urls where date='0000-00-00 00:00:00' and type='auteur';
+-------+--------+----------+---------------------+-----------+----------+-------+
| url   | type   | id_objet | date                | id_parent | segments | perma |
+-------+--------+----------+---------------------+-----------+----------+-------+
| 0xA47 | auteur |    15838 | 0000-00-00 00:00:00 |         0 |        1 |     0 |
+-------+--------+----------+---------------------+-----------+----------+-------+
1 row in set (0.02 sec)

La valeur de la date pose problème je pense (0000-00-00 00:00:00).

L'URL généré par /ecrire/?exec=auteur&action=redirect&type=auteur&id=15838&var_mode=preview me redirige sur /0xA47?var_mode=preview qui abouti sur une erreur HTTP 404.

De manière assez aléatoire j'ai une seconde URL générée dans la table spip_urls de la forme : 0xA47-[identifiant] qui elle est valide (elle n'a pas le champ date à 0).

Tout est dans le titre :) Un auteur dont le nom commence par 0x va avoir une URL arbo générée non valide : Un auteur dont le nom est 0xA47 va créer cette entrée dans la table spip_urls : <pre> mysql> select * from spip_urls where date='0000-00-00 00:00:00' and type='auteur'; +-------+--------+----------+---------------------+-----------+----------+-------+ | url | type | id_objet | date | id_parent | segments | perma | +-------+--------+----------+---------------------+-----------+----------+-------+ | 0xA47 | auteur | 15838 | 0000-00-00 00:00:00 | 0 | 1 | 0 | +-------+--------+----------+---------------------+-----------+----------+-------+ 1 row in set (0.02 sec) </pre> La valeur de la date pose problème je pense (0000-00-00 00:00:00). L'URL généré par /ecrire/?exec=auteur&action=redirect&type=auteur&id=15838&var_mode=preview me redirige sur /0xA47?var_mode=preview qui abouti sur une erreur HTTP 404. De manière assez aléatoire j'ai une seconde URL générée dans la table spip_urls de la forme : 0xA47-[identifiant] qui elle est valide (elle n'a pas le champ date à 0).
Poster
Un exemple du problème sur contrib : http://contrib.spip.net/ecrire/?exec=auteur&id_auteur=12265 http://contrib.spip.net/0x7337-12265
Poster

Le problème ne semble pas lié aux URLs arbo. Pour reproduire :

  • créer un auteur qui commence par 0x et accèder à son URLs publique réécrite (nb : utilisation du critère tout ou affectation d'une ressource à l'auteur)
Le problème ne semble pas lié aux URLs arbo. Pour reproduire : - créer un auteur qui commence par 0x et accèder à son URLs publique réécrite (nb : utilisation du critère tout ou affectation d'une ressource à l'auteur)
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**
Owner

En effet je reproduis le bug en 3.0.x mais plus en 3.1
C'est une histoire d'echappement pas explicite : en 3.0 le type text est pas explicité, et la fonction d'echappement croit avoir a faire à un numerique hexa, et ne mets pas de quote. En 3.1 on a explicité le type text sur cette requete et c'est bon.
Statut changé à Fermé

En effet je reproduis le bug en 3.0.x mais plus en 3.1 C'est une histoire d'echappement pas explicite : en 3.0 le type text est pas explicité, et la fonction d'echappement croit avoir a faire à un numerique hexa, et ne mets pas de quote. En 3.1 on a explicité le type text sur cette requete et c'est bon. **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.