在数据库中存储HTML格式的文本

时间:2010-05-18 12:17:26

标签: c# asp.net sql-server-2008 craigslist

我正在建立一个类似于Craigslist的网站。我想知道如何在sql 2008数据库中存储html格式的文本(粗体/斜体/字体大小等)?

换句话说,用户可以输入文本,使用字体大小,粗体等格式化并保存信息。什么是将其存储在数据库中的最有效方法?

6 个答案:

答案 0 :(得分:4)

将其保存到nvarchar(max)字段。确保使用参数化查询以确保安全性。阅读http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

答案 1 :(得分:3)

确保只允许某些有限数量的HTML标记,否则您可能会冒险进行跨脚本注入。

例如,不要让您的用户输入<script><style>标签。我建议你在继续之前阅读更多关于交叉脚本注入的内容!祝你好运

答案 2 :(得分:2)

我可能只是将广告文字存储为nvarchar(max)数据类型

答案 3 :(得分:1)

我想说只使用NVARCHAR(max)或Text数据类型而不是XML数据类型。

这样可以轻松访问内容,因为xml数据类型需要在该行的某处转换。

答案 4 :(得分:1)

我只是将其填充到NVARCHAR(MAX)字段中。

当然,您可以使用参数化查询。

答案 5 :(得分:0)

如果您使用的是SQL Server 2008或更高版本,我会把它放在nvarchar(MAX)字段中。如果您使用的是SQL Server 2005或更低版本,并且字符数低于2000,则可以使用nvarchar(2000)类型。如果限制太多,请使用文本类型。