【问题标题】:Is there a way to white-list <br /> and <div> tags without adding additional buttons?有没有办法在不添加额外按钮的情况下将 <br /> 和 <div> 标签列入白名单?
【发布时间】:2012-08-28 17:20:20
【问题描述】:

当我使用 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>

我添加了按钮 &lt;ajaxToolkit:JustifyLeft /&gt;&lt;div&gt; 标记不再被剥离,但理想情况下我不想允许其他按钮。

问题:

有没有办法在不添加额外按钮的情况下将&lt;br /&gt;&lt;div&gt; 标签列入白名单?

你们还能想到其他选择吗?

【问题讨论】:

  • 所以我们仍然无法将我们想要的标签列入白名单?

标签: c# ajaxcontroltoolkit htmleditorextender


【解决方案1】:

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

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

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

【讨论】:

  • 其实我还没有看到哪个按钮可以让BR标签通过验证,只有DIV。添加一个对齐按钮是我目前使 DIV 工作的方式。很高兴看到其他人也有同样的问题。
  • 是的,这是一个常见问题。我现在决定禁用消毒并自己进行所有消毒。这是帮助您入门的潜在来源eksith.wordpress.com/2011/06/14/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
相关资源
最近更新 更多