Сохраните данные формы TinyMCE в базе данных MySQL и верните как есть

0

В настоящее время я работаю над проектом CMS, и мы хотим использовать TinyMCE в качестве редактора WYSIWYG. Здесь мы разрешили пользователям настраивать их содержимое (например, некоторые разделы выделены жирным шрифтом, разные отступы и т.д.). Все, что я хочу знать, это то, как мы храним эти данные формы в базе данных MySQL и как мы возвращаем данные из эти стили? Существуют ли проблемы в базе данных, так как это содержит html-теги? Я думаю, вы можете получить то, что я спрашиваю. Это наш первый раз, когда мы используем любой редактор WYSIWYG и благодарим вас за любую помощь.

Теги:
database
wysiwyg
tinymce

1 ответ

0
Лучший ответ

Для MySQL HTML, созданный TinyMCE, представляет собой просто String, вы можете сохранить его как есть (после того, как фильтр безопасности подтвердил его)

Но ваше приложение должно очень тщательно обрабатывать Strong, потому что небрежное обращение приведет к созданию сценариев Cross Site Scripting (XSS).

Это сложнее, чем предотвращать XSS на не-html-полях, поскольку обработка данных не будет работать.

Самый надежный способ предотвратить XSS в поле HTML - это то, что вам нужно будет фильтровать текст HTML на сервере, в белом списке или в черном списке.

Черный список проще реализовать, но может пропустить некоторые шаблоны, которые мы не знали. Белый список более надежный, но хлопотный. вы определите теги и атрибуты, которые вы разрешили, HTML содержит недопустимые теги или атрибуты, которые можно отфильтровать или заблокировать. Вы можете достичь белого списка Jsoup (для повышения производительности я предлагаю вам настроить Jsoup)

Вы не можете доверять tinymce, чтобы помочь вам, потому что хакер может легко обойти проверку на стороне клиента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню