La question bateau du jour: mais comment transforme-t-on des tags HTML en entités HTML pour sécuriser les inputs utilisateurs qui seront affichées sur le site ?
En Python
On peut utiliser le module sax
, qui a la base sert à échaper les caractères pour du XML. On va juste étendre sa table de caractères pour rajouter le simple et le double quote.
from xml.sax.saxutils import escape, unescape a_echapper = {'"': """, "'": "'"} a_reconstituer = dict((value, key) for key, value in a_echapper.iteritems()) def echape_html(text, a_echapper=a_echapper): return escape(text, a_echapper) def reconstitue_html(text, a_reconstituer=a_reconstituer): return unescape(text, a_reconstituer) |
Avec jQuery
En pur JS, ce sera galère. Mais avec jQuery, c’est :
$('<div></div>').text(text_a_echaper).html(); |
Je ne sais pas comment on peut faire facilement l’opération inverse par contre.