【发布时间】:2016-06-22 15:52:01
【问题描述】:
我正在使用 mvc、c# 和 sql。我尝试从我的数据库中引入 html 代码(例如,表格代码),并在我的视图中显示它。 这是我的视图模型:
viewmodel:
public string Color { get; set; }
public string body { get; set; }
public string style { get; set; }
这是我的控制器代码
entity db = new myentity();
var html = new htmlviewmodel();
html.body=db.getbody(); //gets html code for my view, for example, a table
html.style=db.getstyle(); //gets a css style for instance, mystyle
这将是我的观点
this is your table:
@model.body
<div style=@model.style> bla bla </div>
谁能帮我知道如何在我的数据库中存储 html?以及如何在我的视图中使用html?
【问题讨论】:
-
有什么问题?您正在寻找
Html.Raw()。而且你几乎肯定有 XSS 漏洞。 -
@SLaks 很好奇为什么几乎肯定是 XSS 仅仅是因为 HTML 是从数据库中提取的? Ebaneo 将 html 存储为 VARCHAR(MAX) 或 NVARCHAR(MAX) 取决于您是否有 unicode 字符。 stackoverflow.com/questions/5772897/storing-html-in-sql-server
-
一定要存入数据库吗?如果没有,您知道如果您需要稍微调整 HTML,这将给您带来一大堆问题。
-
@Matt:不;因为 HTML 可能不受信任。
-
@SLaks 可能不受信任,因为它被存储在数据库中并且来源目前未知。所以外部世界/用户形式非常容易受到 XSS 的影响,但内部版本控制或其他东西不应该那么容易受到影响.....我猜你可能有一个观点,从他的问题中的一点点细节来看,这似乎是一个相当大的假设,所以我很好奇我是否遗漏了什么。