LINUX.ORG.RU

[Django] wysiwyg редактор и экранирование html-а


0

1

Приветствую!

Сайт на Django.
Интегрировал в одну из форм wysiwyg редактор(tiny_mce), да вот незадача: tiny_mce позволяет создавать html разметку текста(<b>, <i>, <u>...) но когда отсылаю POST-запрос, django автоматом экранирует теги: &lt_b_&gt>...

Вопрос:
1) Временное решение: как убрать экранирование символов?
2) Ну или как одновременно разрешить определенные теги, да в то же время экранировать всякие XSS-ки

Спасибо!

>2) Ну или как одновременно разрешить определенные теги, да в то же время экранировать всякие XSS-ки

а) использовать что-то вроде BBCode
б) наплодить костылей в виде регулярок поверх html-разметки. но, на 100% уверен, что что-то, да упустите, и «доброжелатели» быстро найдут нужный болт с левой резьбой :)

anon1984 ()

>2) Ну или как одновременно разрешить определенные теги, да в то же время экранировать всякие XSS-ки

Курить html5lib и его sanitizers.

Да, и имхо тинимсе ужасен, тормознут и обладает неудобным API. CKEditor намного приятнее.

Вот приятный и простой вариант для джанги https://github.com/dwaiter/django-ckeditor

anonymous ()
Ответ на: комментарий от anonymous

>у цке плагины либо дико платные, либо дико обфусцированные.

CK меньше тормозит на вид, выглядит лучше, дефолтно умеет всякие раскрывания во весь экран, плагины пишутся полегче, чем в тинимсе.

Хотя на вкус и цвет, как вы понимаете...

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.