danger des editeurs wysiwyg ?
39 messages
• Page 1 sur 3 • 1, 2, 3
- pssinjaune
- WRInaute discret

- Messages: 135
- Inscription: 1 Oct 2008
danger des editeurs wysiwyg ?
Bonjour a tous,
Je me pose actuellement une question car je suis sur le developpement d'un site,
Les utilisateurs peuvent ecrire des articles, pour celà j'utilise un editeur wysiwyg (TinyMCE),
je me posait quelques questions de securités a ce sujet.
Quand l'editeur est en place tout est ok, si j'entre du code html dans mon TEXTAREA, celui si ne sera pas interpreté et apparaitra comme du texte une fois publié sur le site.
Le souci, c'est que si l'utilisateur desactive la fonction javascript de son navigateur, l'editeur wysiwyg n'est plus actif et n'apparait plus.
Le code html qui sera saisi sera cette fois interpreté et integré une fois publié sur le site.
Je prend l'exemple d'un IFRAME,
Avec l'editeur wysi actif, sur le site il apparaitra le code html, mais en aucun cas on ne pourra y voir l'iframe
Sans l'editeur wuysi, l'iframe sera interpreté comme un element html faisant parti du site.
La solution serait la fonction PHP htmlspecialchars("Mon Article"), qui permet d'indiquer qu'il s'agit de texte et qu'aucun element ne doit etre interpreté, mais du coup, l'editeur wysiwyg ne sert plus a rien puisqu'il servait a la mise en forme .
Y a t'il une solution securisante qui me permettrait de faire fonctionner l'editeur correctement et d'eviter qu'un petit malin integre du code HTML malicieu en desactivant la fonction JS de son navigateur ?
Merci d'avance pour vos reponses
Je me pose actuellement une question car je suis sur le developpement d'un site,
Les utilisateurs peuvent ecrire des articles, pour celà j'utilise un editeur wysiwyg (TinyMCE),
je me posait quelques questions de securités a ce sujet.
Quand l'editeur est en place tout est ok, si j'entre du code html dans mon TEXTAREA, celui si ne sera pas interpreté et apparaitra comme du texte une fois publié sur le site.
Le souci, c'est que si l'utilisateur desactive la fonction javascript de son navigateur, l'editeur wysiwyg n'est plus actif et n'apparait plus.
Le code html qui sera saisi sera cette fois interpreté et integré une fois publié sur le site.
Je prend l'exemple d'un IFRAME,
Avec l'editeur wysi actif, sur le site il apparaitra le code html, mais en aucun cas on ne pourra y voir l'iframe
Sans l'editeur wuysi, l'iframe sera interpreté comme un element html faisant parti du site.
La solution serait la fonction PHP htmlspecialchars("Mon Article"), qui permet d'indiquer qu'il s'agit de texte et qu'aucun element ne doit etre interpreté, mais du coup, l'editeur wysiwyg ne sert plus a rien puisqu'il servait a la mise en forme .
Y a t'il une solution securisante qui me permettrait de faire fonctionner l'editeur correctement et d'eviter qu'un petit malin integre du code HTML malicieu en desactivant la fonction JS de son navigateur ?
Merci d'avance pour vos reponses
-

Marie-Aude - Modérateur

- Messages: 11881
- Inscription: 5 Juin 2006
Re: danger des editeurs wysiwyg ?
Tout dépend du cms que tu utilises.
Tu peux aussi définir des filtres qui n'acceptent pour un type de contribution que certaines balises html
Tu peux aussi définir des filtres qui n'acceptent pour un type de contribution que certaines balises html
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
Re: danger des editeurs wysiwyg ?
Au lieu de mettre du wysiwyg tu peut également mettre tes tags formattés.
Du markdown par exemple. http://daringfireball.net/projects/markdown/
Du markdown par exemple. http://daringfireball.net/projects/markdown/
-

spout - WRInaute accro

- Messages: 4377
- Inscription: 14 Mai 2003
Re: danger des editeurs wysiwyg ?
Et pour le Markdown (et HTML, Wiki, BBCode,...) : http://markitup.jaysalvat.com/home/
-

blman - WRInaute accro

- Messages: 3077
- Inscription: 5 Sep 2003
Re: danger des editeurs wysiwyg ?
J'utilise aussi TinyMCE comme éditeur wysiwyg. Il est intégré dans le backoffice d'un site e-commerce et vu que mes rédacteurs font beaucoup de copier/coller depuis d'autres sites (ceux des fournisseurs), ça faisait souvent "sauter" ma mise en page à cause de code pas très propre qui était intégré lors du copier/coller.
J'ai donc configurer TinyMCE en mode simple pour qu'ils n'aient accès qu'aux fonctions simples de mise en page (gras, souligné, ...).
Et j'ai rajouté une fonction qui me nettoie l'HTML retourné :
striptags élimine toutes les balises HTML (sauf celles spécifiées en paramètre) ( http://php.net/manual/fr/function.strip-tags.php )
Et l'expression régulière enlève les attributs, classes et id qui pourraient être génant.
J'ai donc configurer TinyMCE en mode simple pour qu'ils n'aient accès qu'aux fonctions simples de mise en page (gras, souligné, ...).
Et j'ai rajouté une fonction qui me nettoie l'HTML retourné :
- Code: Tout sélectionner
function nettoieHTMLcode($code){
//On nettoie le HTML
$code=strip_tags($code, '<p><ul><li><strong><b><em><u><ol><lh><strike><i><dl><dt><dd><br><br/>');
//On nettoie les classes, id et autres attributs
$suppr=array('/[\s]{1}class=[\"\'].*?[\"\']/', '/[\s]{1}id=[\"\'].*?[\"\']/', '/[\s]{1}color=[\"\'].*?[\"\']/', '/[\s]{1}face=[\"\'].*?[\"\']/', '/[\s]{1}size=[\"\'].*?[\"\']/', '/[\s]{1}align=[\"\'].*?[\"\']/');
$code=preg_replace($suppr, '', $code);
return $code;
}
$articleDescriptif=nettoieHTMLcode($articleDescriptif);
striptags élimine toutes les balises HTML (sauf celles spécifiées en paramètre) ( http://php.net/manual/fr/function.strip-tags.php )
Et l'expression régulière enlève les attributs, classes et id qui pourraient être génant.
- honolulu
- WRInaute impliqué

- Messages: 942
- Inscription: 8 Nov 2005
Re: danger des editeurs wysiwyg ?
Le souci, c'est que si l'utilisateur desactive la fonction javascript de son navigateur, l'editeur wysiwyg n'est plus actif et n'apparait plus.
une idée serait alors de faire dépendre la soumission du formulaire de l'activation du javascript
si le js est activé, le submit est possible sinon {}...
-

blman - WRInaute accro

- Messages: 3077
- Inscription: 5 Sep 2003
Re: danger des editeurs wysiwyg ?
passion a écrit:J'ai aussi un prob avec tiny, c'est lorsque l'on fait sa page sur Words, le copier-coller sur Tiny rajoute une suite de code propre à Words !
As-tu testé aussi ta fonction avec Words?
Lorsque tu fais du copier/coller depuis word, ma fonction doit aussi supprimer ces tags spécifiques (Hawk a bien compris le principe
Sinon, TinyMCE a un bouton dans toutes les configuration : "cleanup messy code" (icone, petit pinceau ou mini balais, je sais pas trop). Ce bouton a la particularité de nettoyer le code des balises non html, il me semble.
- Rod la Kox
- WRInaute accro

- Messages: 3253
- Inscription: 24 Juin 2008
Re: danger des editeurs wysiwyg ?
... et fckeditor, vous avez un avis ?
Parce que c'est tout de même bien pratique ces petits modules. J'ai pas envi de me créer mon bbcode.
Parce que c'est tout de même bien pratique ces petits modules. J'ai pas envi de me créer mon bbcode.
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
Re: danger des editeurs wysiwyg ?
Sur Fckeditor, il y a plusieurs variables dans le fckconfig.js pour nettoyer le code lors d'un copier-coller :
Par contre, fck est obsolète maintenant, c'est ckeditor.
- Code: Tout sélectionner
FCKConfig.ForcePasteAsPlainText = true ;
FCKConfig.AutoDetectPasteFromWord = true ; // IE only.
Par contre, fck est obsolète maintenant, c'est ckeditor.
39 messages
• Page 1 sur 3 • 1, 2, 3
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


