На сайте имеется другой контент, который разрешено создавать / редактировать - новости, статьи и т. Д.
Как правильно и безопасно передавать данные из редактора в базу данных?
Я бы хотел использовать редактор wysiwyg, потому что потенциальные пользователи этого редактора не будут такими опытными пользователями (уценка и BB-код будут для них трудными, они хотят, как в MS Word =))
Также я хотел бы добавить ограничения в этот редактор, например: нет изображений, только 5 цветов, только 3 типа шрифтов и т. Д. (Это можно сделать при ограниченных элементах управления этого редактора)
Мой вопрос: как сделать этот редактор безопаснее? Как запретить добавление лишнего html от пользователя или тегов <script>
. Нужно ли делать html-фильтр данных, поступивших из базы данных (сохраненный контент, который пользователи писали в редакторе) при отображении страницы шаблона этого контента (новости или статьи)?
Должен ли я хранить контент в формате HTML в базе данных? (Если я хочу wysiwig-редактор и он выводит HTML после сохранения). Или, может быть, я должен преобразовать HTML из редактора в bb-код или уценку (будут все мои ограничения и ограничения) и очистить весь лишний HTML ... А затем при получении содержимого из базы данных - я должен преобразовать bb-code / markdown в HTML еще раз.
А может быть, есть более простые и быстрые способы сделать это безопасным?