TinyMCE удаляет встроенный стиль с допустимыми элементами: *[*] с Codeigniter

Я прочитал атрибуты полос Tinymce при отправке, TinyMce Разрешить все HTML-теги, Допустимые элементы TinyMCE: разрешать только определенные правила CSS, как запретить tinymce удалять атрибут style из элемента ввода?, TinyMCE, разрешить атрибут данных и многие другие...

Но ни один из них не работает.

Это мой код:

valid_elements : '+*[*]',
cleanup: false,
inline_styles : true

Я тоже пробовал

valid_elements : '*[*]'

(без + перед *[*])

и даже

valid_children : '+body[style]'

Но когда я добавляю стили вручную, например style="color: #fff;", и отправляю форму, TinyMCE удаляет возвращенный вывод.

Другими словами: я хочу, чтобы TinyMCE перестал автоматически "удалять" любой код.


person Mohammad Naji    schedule 20.10.2012    source источник


Ответы (1)


Нет, не TinyMCE мешал встроенным стилям.

CodeIgniter сделал это.

Даже сейчас, когда я вручную отключил фильтрацию XSS, используя:

$body = $this->input('body', FALSE);

, который все еще удалялся, потому что я включил XSS-фильтрацию в application/config/config.php:

$config['global_xss_filtering'] = TRUE;

Но когда я изменил его на

$config['global_xss_filtering'] = FALSE;

проблема была решена, и я избавился от фильтрации на стороне сервера.


Я размещаю ответ здесь, и я надеюсь, что никто больше не будет таким сумасшедшим и сумасшедшим, как я!

person Mohammad Naji    schedule 21.10.2012
comment
Вы не представляете, как я люблю вас за это! Я только что провел шесть часов, работая с этим, чтобы попытаться понять это, и как раз собирался задать вопрос. Так что спасибо спасибо спасибо! - person zazvorniki; 23.07.2013
comment
Очень рад видеть, что это помогает вам :) - person Mohammad Naji; 23.07.2013
comment
Потрясающий! Я провел бесчисленное количество часов, просматривая Интернет и посты TinyMCE повсюду, чтобы понять это! Еще одна вещь, которую мне пришлось сделать, это удалить xss_clean из моих правил проверки! - person Hamman Samuel; 09.05.2015