Bonjour,
Je recherche l'expérience d'autres développeurs afin d'élucider l'un de mes problèmes.
J'ai développé un framework dont la méthode de vue convertit tout caractère HTML en entitées (prévention de failles XSS sur les contenus).
L'enrichissement des contenus était alors géré en markdown, et traité par la suite.
Or je me suis retrouvé face à un cas où j'ai du retirer (dans l'instance du framework uniquement) cette fonction de traitement. Et la question que je me pose aujourd'hui est de savoir si elle ne devrait pas être retirée. A savoir que ceci m'exposerait à plusieurs problématiques :
- Rétrocompatibilité : tout site dont la version du framework sera mis à jour à l'avenir devra être revu afin d'appeler la fonction de traitement des données en amont de la méthode du contrôleur
- Erreur humaine : Ayant prit l'habitude que ce traitement de sécurité sois automatiquement appliqué, il pourrait m'arriver, ainsi qu'aux utilisateurs du framework, d'oublier de sécuriser la sortie HTML des contenus.
Pour avoir travaillé en agence, la plupart des outils que j'ai pu utiliser ont toujours nécessité l'appel d'une fonction de traitement en amont de l'appel de la vue.
Je me suis cependant demandé pourquoi ceci n'était pas inclus dans l'intégration des données dans la vue, puisque 99.99% des contenus de sites n'utilisaient pas le HTML pour l'enrichissement.
Je fais donc appel à vous afin d'obtenir vos retours d'expérience sur la question :
- Autorisez-vous la transmission de code HTML de contenus ?
- Préférez-vous le traitement systématique ou l'appel d'une fonction en amont ?
- Un conseil à me donner sur le sujet ?
Il est à savoir que j'envisage également d'ajouter un paramètre dans la méthode afin d'autoriser le HTML dans des cas particuliers, mais j'attends avec impatience vos retours pour cette décision.
En vous remerciant d'avance,
P.S : Si ce sujet manque de clarté, n'hésitez pas à me le faire savoir, je n'ai pas posté de messages dans un forum depuis un moment.
Partager