Предотвратить ли PyroCMS извлечение встроенных стилей из содержимого WYSIWYG? - PullRequest
2 голосов
/ 30 марта 2012

Я заметил проблему при вставке загруженного изображения в текстовое поле с помощью редактора WYSIWYG (например, чанка страницы в модуле Pages). Выравнивание на вставленном изображении не сохраняется после обновления записи.

После небольшого тестирования я заметил, что выравнивание на изображении выполняется путем добавления встроенного стиля в тег img, например style = 'float: right', однако, если вместо этого вручную добавлен атрибут align = right, он сохраняется после сохранения в базе данных.

Поэтому я предполагаю, что Pyro удаляет встроенные стили из содержимого WYSIWYG. Есть ли способ предотвратить это?

1 Ответ

3 голосов
/ 05 апреля 2012

Это потому, что для рассматриваемого модуля включено XSS filtering.

В базе данных Pyro есть таблица с именем default_modules (или что-то еще, если у вас другой идентификатор сайта).

В этой таблице есть столбец с именем skip_xss.Вы можете установить его на 1, чтобы разрешить встроенные стили (и некоторый другой, потенциально опасный контент) при вводе формы для данного модуля.

Если вы создаете пользовательский модуль, вы можете добавить skip_xss => 1$info в вашем файле details.php, чтобы начать с выключенного XSS filtering.

...