我有一个网络管理员,当用户编辑信息时,有一个所见即所得的编辑器。
还有一个仅查看模板。用户在单击编辑操作之前查看信息。
目前,视图模板会为保存的字段值生成一行。
<p><b>Hello</b></p><p>there</p>
当用户“正在观看”时,我还有哪些选项可以使其更具可读性?
我能想到的选择是:
保持原样。那么,这可以成为一长串文本。
以某种方式避免编码MVC3并添加实际的<br>
来代替内容中的</p>
或<br>
。至少这些线会破裂。
将内容实际显示为html。这是,你会看到大胆。如果有未封闭的标签怎么办?
使用上述任何一项,我可以将它放在一个可滚动的div中。
(我无法标记此问题。请随意重拍)。
答案 0 :(得分:1)
通常,当您使用编辑器时,您最终将最终在网站上呈现HTML实时,因此编码不应该是一个大问题,因为您已经信任它们。
现在,我过去所做的就是使用编辑器,例如ckeditor等,他们会清理内容,以解决您对未封闭标签的担忧。
所以我会在你的清单上选择选项3。
答案 1 :(得分:1)
在发送到服务器之前,还要确保您支持的任何编辑器都编码数据。不要关闭请求验证。 如有必要,请在模型属性上使用[AllowHtml]属性。 还可以使用Microsoft的Anti-xss库 - 特别是HTML清理程序来帮助删除恶意脚本并帮助防止跨站点脚本。