База данных для содержимого – ОК для хранения HTML?

Основной вопрос: безопасно ли хранить HTML в базе данных, если я ограничу, кто может подчиниться ему?

У меня довольно простой вопрос. Я предоставляю видеоуроки и другой контент. Не тратя месяцы на запись правильного синтаксического анализа BBCode, мне нужно будет сохранить HTML, чтобы я мог выглядеть так, как хочу, когда я его извлекаю из базы данных.

В основном я планирую хранить всю информацию в базе данных об учебной серии и каждом эпизоде. Я хотел бы иметь некоторое форматирование для описаний для обоих, поэтому я могу добавить несколько абзацев, упорядоченные и неупорядоченные списки, ссылки на требуемые ресурсы и т. Д.

Я использую PHP и создаю собственную базу данных. Я использую phpMyAdmin для хранения информации в таблице прямо сейчас. Я буду использовать пользователя с правами на чтение, когда я вывожу информацию в код PHP.

Каков наилучший способ сделать это? Спасибо!

Как и другие, указали, что нет ничего опасного в хранении HTML в БД. Но когда вы его показываете, вам нужно знать, что HTML безопасен. Видя, как вы редактируете только HTML, я не вижу проблем.

Однако я бы не хранил HTML вообще. Если все, что вам нужно, это заголовки, абзацы, списки, ссылки, изображения и т. Д. Я бы сказал, что Markdown идеально подходит. Преимущество Markdown заключается в том, что он выглядит так же, как и обычный текст (т. Е. Вы можете отправлять свои статьи в виде электронных писем или сохранять их как txt-документы), он занимает намного меньше места, чем HTML, и вам не нужно его менять после обновления HTML.

http://michelf.ca/projects/php-markdown/

С точки зрения безопасности не менее безопасно хранить ваш HTML в базе данных, чем хранить его в другом месте – если вы единственный автор этого HTML. Но опять же, если другие люди могут создавать HTML на вашем сайте, тогда неважно, где вы его храните, – только как вы его дезинфицируете и как и где вы его показываете.

Теперь, является ли это эффективным способом хранения HTML, это совершенно другое дело. Если бы я был вами, я бы использовал некоторую приличную систему шаблонов и хранил HTML в файлах.

Хранение HTML-кода в порядке. Но если это не из надежного источника, вам нужно проверить его и разрешить только защищенное подмножество разметки. Библиотека HTML Tidy поможет вам в этом.

Кроме того, вам нужно рассчитывать с будущим изменением дизайна веб-сайта, поэтому не используйте слишком много разметки, а только базовые теги. Чтобы он выглядел так, как вы хотите, используйте глобальные правила CSS и семантически названные классы в разметке.

Но еще лучше использовать Markdown или другой вики-подобный синтаксис. Есть хорошие редакторы JS для Markdown с предварительным просмотром в реальном времени (например, здесь, в Stackowerflow), и вы можете вообще избегать HTML.