Я смотрю на использование WMD в моем проекте вместо моего существующего RadEditor. Я читал несколько сообщений о том, как сохранить и получить данные, и я хочу удостовериться, что у меня есть понятие, корректное перед продолжением.
Если мое исследование корректно, вот то, что я должен делать.
Кто-либо может подтвердить или отклонить, если это корректно, и также добавьте какой-либо полезный вход на предмете?
Ссылки
Переформатируйте мой код: Санируйте HTML
StackOverflow: как Вы храните скидку с цены с помощью WMD в сети asp
StackOverflow: санируйте HTML прежде, чем сохранить в дб или прежде, чем представить antixss библиотеку
StackOverflow: объекты HTML хранилища в базе данных или преобразовывают при получении
Я использую Markdown в движке блогов, который пишу (кто не пишет движки блогов?), И я также реализовал Markdown в ряде настраиваемых CMS, которые у меня есть. написано для клиентов.
Я делаю это очень похоже на то, как это делает команда Stack Overflow:
wmd.js
в качестве редактора на стороне клиента. Вот некоторые ресурсы, которые говорят о Markdown:
Внизу строка:
Таким образом, одна из идей, лежащих в основе Markdown, заключается в том, что он создает «безопасный» HTML-код - не должно быть необходимости в отдельном кодировании.
В более общем плане я бы рекомендовал хранить «сырые» данные в базе данных без их преобразования или очистки. Вы всегда должны дезинфицировать или преобразовывать как можно ближе к точке рендеринга - это дает большую гибкость (о, внезапно мне нужно отображать как RSS. Или JSON. Черт, я не могу, потому что я предварительно отформатировал для HTML) и должен Если вы обновите дезинфицирующее средство или средство визуализации, вы увидите влияние обновления на каждый фрагмент данных.
Я бы сказал, хранить текст уценки в базе данных, а затем преобразовывать его, когда вы хотите, чтобы он отображался, используя для этого библиотеку уценки, которая, теоретически, должна создавать весь безопасный HTML из его безопасного списка тегов и атрибутов.