danger des editeurs wysiwyg ?

pssinjaune
WRInaute discret
WRInaute discret
 
Messages: 135
Inscription: 1 Oct 2008

danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 6:46

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


Marie-Aude
Modérateur
Modérateur
 
Messages: 11881
Inscription: 5 Juin 2006

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 8:08

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

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 8:49

Au lieu de mettre du wysiwyg tu peut également mettre tes tags formattés.
Du markdown par exemple. http://daringfireball.net/projects/markdown/


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 8:59

Et pour le Markdown (et HTML, Wiki, BBCode,...) : http://markitup.jaysalvat.com/home/

passion
WRInaute accro
WRInaute accro
 
Messages: 3125
Inscription: 6 Jan 2006

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:16

merci beaucoup, je ne connaissais pas ;)
C'est très sympa et plus clair que TinyMCE !


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:17

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é :

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é
WRInaute impliqué
 
Messages: 942
Inscription: 8 Nov 2005

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:24

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 :wink:
si le js est activé, le submit est possible sinon {}...


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:37

Très sympa cette petite fonction, Bruno.
Merci!

+Reco ;)

passion
WRInaute accro
WRInaute accro
 
Messages: 3125
Inscription: 6 Jan 2006

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:41

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?


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 9:55

Il y a de fortes chances que cette suite de code saute avec le strip_tags() ;)
Dans la fonction de Bruno, tout saute sauf les balises de mise en forme.


reglisse
WRInaute passionné
WRInaute passionné
 
Messages: 1073
Inscription: 15 Nov 2005

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 10:19

moi j'ai commencé à coder avec notepad c'est trop puissant comme editeurs wysiwyg


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 10:30

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, il y a toujours moyen de l'améliorer cette fonction, elle n'est quand même pas très compliquée.

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
WRInaute accro
 
Messages: 3253
Inscription: 24 Juin 2008

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 13:01

... 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. :-(


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 13:09

Sur Fckeditor, il y a plusieurs variables dans le fckconfig.js pour nettoyer le code lors d'un copier-coller :

Code: Tout sélectionner
FCKConfig.ForcePasteAsPlainText   = true ;
FCKConfig.AutoDetectPasteFromWord = true ;   // IE only.


Par contre, fck est obsolète maintenant, c'est ckeditor.


skyll
WRInaute passionné
WRInaute passionné
 
Messages: 1364
Inscription: 14 Oct 2005

Re: danger des editeurs wysiwyg ?

Message le Mer Fév 17, 2010 15:32

excellent blman,
merci :-) (reco)

danger des editeurs wysiwyg ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités