0

当我使用 HTML Editor Extender 从文本框中保存 text/html 时,它会不断删除新行和 div。

我找到了原因:

如果标签不在白名单上(换句话说,HtmlEditorExtender 按钮不需要),那么它就会被剥离。我们希望尽我们所能来防止跨站点脚本攻击,因此我们需要限制您可以使用的标签、属性和属性值的类型。如果您设置 HtmlEditorExtender 属性 EnableSanitization=”false” 则不会发生剥离 - 但随后您将面临跨站点脚本攻击。

http://stephenwalther.com/archive/2012/06/25/announcing-the-june-2012-release-of-the-ajax-control-toolkit.aspx#comment-4842

我目前在工具栏上启用了以下工具:

<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>标签?

大家还能想到什么其他的选择吗?

4

1 回答 1

1

添加任何 justify 按钮将使 htmleditor 扩展器可在 Internet Explorer 中使用。

<ajaxToolkit:Justifyleft /> 
<ajaxToolkit:JustifyCenter /> 
<ajaxToolkit:JustifyRight /> 
<ajaxToolkit:JustifyFull /> 

没有这些按钮,一切都会被剥离,标签也不会被接受。你提到你已经能够让标签 br 接受了,你添加了哪个按钮来允许这种情况发生。这将使 htmleditorextender 可用。谢谢。

于 2012-09-24T09:32:06.523 回答