【发布时间】:2012-08-28 17:20:20
【问题描述】:
当我使用 HTML Editor Extender 从文本框中保存 text/html 时,它会不断删除新行和 div。
我找到了原因:
如果一个标签不在白名单上(换句话说,一个标签不需要 HtmlEditorExtender 按钮)然后它被剥离。我们想做 尽我们所能来防止跨站点脚本攻击,所以我们 需要限制标签、属性和属性值的类型 您可以使用。如果您设置 HtmlEditorExtender 属性 EnableSanitization=”false” 则不会发生剥离 — 但是 然后你就会对跨站脚本攻击敞开心扉。
我目前在工具栏上启用了以下工具:
<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1"
TargetControlID="txtBody" DisplaySourceTab="false"
runat="server" Enabled="True">
<Toolbar>
<ajaxToolkit:Bold />
<ajaxToolkit:Italic />
<ajaxToolkit:Underline />
<ajaxToolkit:InsertOrderedList />
<ajaxToolkit:InsertUnorderedList />
<ajaxToolkit:CreateLink />
<ajaxToolkit:UnLink />
<ajaxToolkit:RemoveFormat />
</Toolbar>
</ajaxToolkit:HtmlEditorExtender>
我添加了按钮 <ajaxToolkit:JustifyLeft /> 和 <div> 标记不再被剥离,但理想情况下我不想允许其他按钮。
问题:
有没有办法在不添加额外按钮的情况下将<br /> 和<div> 标签列入白名单?
你们还能想到其他选择吗?
【问题讨论】:
-
所以我们仍然无法将我们想要的标签列入白名单?
标签: c# ajaxcontroltoolkit htmleditorextender