我正在建立一个类似于 Craigslist 的网站。我想知道如何将 html 格式的文本(粗体/斜体/字体大小等)存储在 sql 2008 数据库中?
换句话说,用户将输入他们的文本,用字体大小、粗体等格式化并保存信息。将其存储在数据库中的最有效方法是什么?
我正在建立一个类似于 Craigslist 的网站。我想知道如何将 html 格式的文本(粗体/斜体/字体大小等)存储在 sql 2008 数据库中?
换句话说,用户将输入他们的文本,用字体大小、粗体等格式化并保存信息。将其存储在数据库中的最有效方法是什么?
将其保存到 nvarchar(max) 字段。确保使用参数化查询以确保安全。阅读http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/
确保只允许一定数量的 HTML 标记,否则您可能会遇到跨脚本注入。
例如,不允许您的用户输入<script>
或<style>
标记。我建议您在继续之前阅读有关跨脚本注入的更多信息!祝你好运
我可能只是将广告文字存储为 nvarchar(max) 数据类型
我想说只使用 NVARCHAR(max) 或 Text 数据类型,而不是 XML 数据类型。
这将允许轻松访问需要在沿线某处转换 xml 数据类型的内容。
我只是将它按原样填充到 NVARCHAR(MAX) 字段中。
当然,您将为此使用参数化查询。
如果您使用的是 SQL Server 2008 或更高版本,我会将其放在 nvarchar(MAX) 字段中。如果您使用的是 SQL Server 2005 或更低版本,并且字符数将低于 2000,则可以使用 nvarchar(2000) 类型。如果这限制太多,请使用文本类型。