Хранение текста в формате HTML в базе данных - PullRequest
3 голосов
/ 18 мая 2010

Я создаю веб-сайт, похожий на Craigslist. Я хотел бы знать, как сохранить форматированный текст html (полужирный / курсив / размер шрифта и т. Д.) В базе данных SQL 2008?

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

Ответы [ 6 ]

4 голосов
/ 18 мая 2010

Сохраните его в поле nvarchar (max). Убедитесь, что вы используете параметризованные запросы для безопасности. Читать http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

3 голосов
/ 18 мая 2010

Убедитесь, что разрешено только определенное ограниченное количество тегов HTML, иначе вы рискуете получить перекрестную инъекцию скрипта.

Например, не позволяйте своему пользователю вводить теги <script> или <style>. Я предлагаю вам прочитать больше о кросс-скриптинге, прежде чем двигаться дальше! Удачи

2 голосов
/ 18 мая 2010

Возможно, я бы просто сохранил текст объявления как тип данных nvarchar (max)

1 голос
/ 18 мая 2010

Я бы просто вставил его, как есть, в поле NVARCHAR (MAX).

Конечно, вы бы использовали для этого параметризованный запрос.

1 голос
/ 18 мая 2010

Я бы сказал, просто используйте тип данных NVARCHAR (max) или Text, а не тип данных XML.

Это позволит легко получить доступ к содержимому, где, поскольку тип данных xml необходимо будет преобразовать где-нибудь вдоль линии.

0 голосов
/ 18 мая 2010

Я бы поместил его в поле nvarchar (MAX), если вы используете SQL Server 2008 или более поздней версии. Если вы используете SQL Server 2005 или ниже и если количество символов будет меньше 2000, вы можете использовать тип nvarchar (2000). Если это слишком ограничительно, используйте текстовый тип.

...