2012-12-15 29 views
2

为了避免XSS,我正在处理输入。如果我允许某些属性,如风格,我uncertain and was unable to find a definite answer,如果允许style sanitize会防止xss或不。 (答案中给出的例子不允许通过清理并且不会导致XSS)TinyMCE - 将所有格式和样式输出制作为类

因此,例如,如果用户选择从左到右的文本方向或从右到左的文本方向按钮,则输出将会是

<span style="direction:ltr"> user text </span> 

我想避免这种情况,不知何故使得它像这样

<span class="LTR"> user text </span> 

,我会在不同的CSS后来改变LTR类。

我试着改变tinymce.yml,但我能做的最好的是打破窗体,而不是使它工作。

有人可以给我一个例子如何做到这一点,所以我可以做到这一点的所有格式和风格? (或者是它更好地使用nokogiri或类同解析它,改变它自己?)

+0

+1好问题 – Thariama

回答

1

我会做类似下面

var editor = tinymce.get('your_editor_id'); 
$(ed.getBody()).find('[style=direction:ltr]').attr('style','').addClass('LTR'); 

您可以一起使用TinyMCE的setup configurationparameter与事件上你想执行此操作:

+0

我最终做了这个在红宝石... tinymce配置不清楚如何做到这一点 –