r7853 - in spip/ecrire: . exec inc public

Author: esj@rezo.net
Date: 2006-11-11 17:18:43 +0100 (sam, 11 nov 2006)
New Revision: 7853

Log:
Possibilité d'appliquer l'indenteur XML sur les scripts de l'espace privé. Quant cette option est en action et qu'on est admin, une page non conforme XML prise en charge par débusqueur qui affiche le code HTML en numérotant les lignes, et emet le message d'erreur avec un lien vers la ligne fautive.

Cette option est déclenchée par la globale xml_indent, en attendant de tirer
au clair l'usage de la globale xhtml dans la fonction _T.

Modified:
   spip/ecrire/exec/naviguer.php
   spip/ecrire/inc/formater_auteur.php
   spip/ecrire/inc/presentation.php
   spip/ecrire/inc/sax.php
   spip/ecrire/inc_version.php
   spip/ecrire/index.php
   spip/ecrire/public/debug.php

Details: http://trac.rezo.net/trac/spip/changeset/7853

au clair l'usage de la globale xhtml dans la fonction _T.

Si ma mémoire est bonne c'est lié à un trou de sécurité avec la fonction
tidy(), qui reconvertissait &lt; en <

-- Fil

Le 11 nov. 06 à 17:26, Fil a écrit :

au clair l'usage de la globale xhtml dans la fonction _T.

Si ma mémoire est bonne c'est lié à un trou de sécurité avec la fonction
tidy(), qui reconvertissait &lt; en <

alors il faut le faire dans l'extension appelant cette fonction, elle n'a pas à gréver tous les appels de _T au motif qu'on l'appelle parfois. De plus, je ne comprends pas pourquoi ça intervient ici spécifiquement: si Tidy, il le fait nécessairement partout puisqu'il intervient au final.

E.

>>au clair l'usage de la globale xhtml dans la fonction _T.
>
>Si ma mémoire est bonne c'est lié à un trou de sécurité avec la fonction
>tidy(), qui reconvertissait &lt; en <

alors il faut le faire dans l'extension appelant cette fonction, elle
n'a pas à gréver tous les appels de _T au motif qu'on l'appelle
parfois. De plus, je ne comprends pas pourquoi ça intervient ici
spécifiquement: si Tidy, il le fait nécessairement partout puisqu'il
intervient au final.

Je me rappelle pas précisément le trou, c'était un truc assez tordu.

Mais en relisant le code, l'emploi de html2unicode() est là car en xhtml on
n'utilise pas "&eacute;" mais "é", je ne sais plus pour quelle raison (un
validateur râlait, je crois).

A mon avis on peut commenter cet appel, on verra si quelqu'un a mal :slight_smile:
Et, une bonne solution sera de passer les fichiers de langue en utf8.

Le trou de sécu venait justement du fait que html2unicode() convertissait
les &lt; en < ce qui permettait de hacker -- d'où le flag explicite
maintenant dans l'appel de la fonction.

-- Fil