我正在建立一个类似于Craigslist的网站。我想知道如何在sql 2008数据库中存储html格式的文本(粗体/斜体/字体大小等)?
换句话说,用户可以输入文本,使用字体大小,粗体等格式化并保存信息。什么是将其存储在数据库中的最有效方法?
答案 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)类型。如果限制太多,请使用文本类型。