Привет Лор. Заинтересовал меня вопрос, как принято хранить форматируемый контент в 2016 году.
Сейчас у меня кастомизирован CKedit, который генерирует html, отправляет в бекенд (Rails), который вырезает нежелательные теги (реализовано с помощью стороннего гема+ собственные правила для всяких <script> и <style>). Собственно, результат записывается в бд, и во вьюшке это дело рендерится, кешируется. и показывается пользователю.
Собственно, нетрудно догадаться, что основная защита от всяких там инъекций это тот самый «фильтр», сканирующий контент перед сохранением. Но «фильтрует» он даже не по белому листу, а лишь по тем правилам, которые я описал. Понятное дело, что секурным такое решение назвать нельзя, особенно учитывая, что о всяких инъекциях я только с 3.5 статей знаю.
В общем, попробовал я поломать существующее решение, и таки получилось. При определенных обстоятельствах верстка таки съезжает и некоторый функционал становится недоступен. Меня это не устраивает, и вот, я здесь.
Собственно, как быть? Я знаю о bbcode, который позволит самому описать правила генерации выходного html, но его я не рассматриваю по 2м причинам. Во первых, сложное форматирование. Мне важны картинки в контенте, их расположение относительно текста и прочее. Кроме того - в контенте присутствует некоторый контент, сугубо индивидуальный, релизовываать который придется самостоятельно, что довольно затрудительно, учитывая сложную разметку контента. Во вторых, поигравшись некоторое время с гемом bb-ruby, а именно с инициализацией кастомных правил, я получил объемный файл с нечитабильными регулярками, поддерживать который стало невозможно, хоть это лишь реализация небольшой части желаемого. В третьих, отсутствие нормального редактора для этого bbcode, что в принципе не так критично, как п.1
Знаю про всякие Markdown, Textile, и т.п. но они не спасают от инъекций и полученный код все равно придется фильтровать.
Итого получается, что лучше html ничего и нет. Может есть какой то ман, как корректно настроить секурность html-контента от всяких инъекций и переопределения стилей? Или может вообще я параноик, и это не проблема вовсе.
Кстати говоря, то о чем сейчас идет речь, это не публичный интерфейс, а скорее интерфейс пользователя с привилегиями, и при нормальной работе доступа к нему рядовым пользователям не будет на уровне авторизации. Т.е. можно сказать, что автором этого контента буду только я.
Благодарю за внимание, проявленное к этой стене текста (объемно вышло как-то), и надеюсь на ваши советы.
Ответ на:
комментарий
от sholom
Ответ на:
комментарий
от comp00
Ответ на:
комментарий
от sholom
Ответ на:
комментарий
от reprimand
Ответ на:
комментарий
от comp00
Ответ на:
комментарий
от dab18
Ответ на:
комментарий
от comp00
Ответ на:
комментарий
от comp00
Ответ на:
комментарий
от menangen
Ответ на:
комментарий
от comp00
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Разметка (2012)
- Форум Разметка харда (2014)
- Форум Языки разметки (2014)
- Форум Разметка диска (2018)
- Форум Контент контент контент...или почему «все валят с лора.» (2013)
- Форум дублирование контента (2012)
- Форум Контент — менеджер (2019)
- Форум Дедупликация контента (2014)
- Форум Шок контент (2013)
- Форум Игровой контент (2010)