Project

General

Profile

Bug #7860

Passer les variables de substitution dans cgi.escape

Added by Frédéric Péters over 7 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Target version:
Start date:
16 July 2015
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:

Description

Pour l'utilisation dans le template de page, il ne faudrait pas qu'un utilisateur puisse s'appeler "fred<script>alert('hello world');</script>".


Files

Associated revisions

Revision 692af244 (diff)
Added by Frédéric Péters over 7 years ago

general: escape substitution variables (#7860)

In templates used for comments and editable texts the substitution is done
on-the-fly by ezt. This is not enabled to the general template as most
variables in there are supposed to be HTML and many sites created on that
assumption. Therefore the substitution is done ahead and limited to context
variables.

History

#1

Updated by Frédéric Péters over 7 years ago

#2

Updated by Thomas Noël over 7 years ago

c'est pas "full secure" parce qu'on peut imaginer un jour avec une variable genre ["toto","tata"] que ezt affiche. Pour moi c'est ezt qui devrait faire du cgi.escape.

Mais en première approche, c'est certainement déjà très bien, je ack donc.

#3

Updated by Frédéric Péters over 7 years ago

Voici un autre patch, qui couvre plus de domaines (genre le champ de type commentaire dont le contenu serait <p>Bonjour [session_user_display_name]</p>).

Mais concernant ezt, il y a déjà tout le nécessaire en place pour gérer correctement ça, c'est juste plus verbeux et on ne l'utilise jamais [format "html"][session_user_display_name][end].

#4

Updated by Frédéric Péters over 7 years ago

  • File 0001-template-escape-substitution-variables-7860.patch added

Un retour vers la première option, l'échappement se fait uniquement pour l'ezt servant de thème. Pour les autres endroits (champ de type commentaire et texte éditable), le templating ezt est configuré pour faire l'échappement lui-même.

Pour assurer une phase de transition pour le thème, on pourrait désactiver l'échappement si la chaine "[format " est trouvée dans l'ezt; ce n'est pas fait parce que la perspective reste la branche django et la suppression d'ezt pour cette partie.

#5

Updated by Frédéric Péters over 7 years ago

  • File deleted (0001-template-escape-substitution-variables-7860.patch)
#7

Updated by Thomas Noël over 7 years ago

Ack

#8

Updated by Frédéric Péters over 7 years ago

  • Status changed from En cours to Résolu (à déployer)
commit 692af244d4680d69e367c049cc4794563b2f73f7
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 16 11:49:00 2015 +0200

    general: escape substitution variables (#7860)

    In templates used for comments and editable texts the substitution is done
    on-the-fly by ezt.  This is not enabled to the general template as most
    variables in there are supposed to be HTML and many sites created on that
    assumption. Therefore the substitution is done ahead and limited to context
    variables.
#9

Updated by Thomas Noël over 7 years ago

  • Status changed from Résolu (à déployer) to Fermé
  • Target version set to v1.13.3

Also available in: Atom PDF