【问题标题】:Adding a new attribute to HtmlPurifiers whitelist?向 HtmlPurifiers 白名单添加新属性?
【发布时间】:2015-08-18 13:54:38
【问题描述】:

我想在HTMLPurifiers白名单中添加一个新的允许attribute,而不是重新定义整个白名单,只是在某个标签上添加一个新的允许。

这是我当前的配置数组:

'posts' => [
    'HTML.SafeIframe' => true,
    'URI.SafeIframeRegexp' => '%^https://www.youtube.com/embed/%',
    'HTML.Nofollow' => true,            
],

根据我的阅读,您应该使用HTML.AllowedAttributes 配置选项,您可以在其中执行以下操作:

'posts' => [
    //...
    'HTML.AllowedAttributes' => ['blockquote.data-author']
],

我认为这将允许blockquote 现在能够拥有data-author 属性?

但是,我想知道什么类型的 values htmlpurifier 将允许该属性具有?默认情况下是否对其施加任何限制?

我在 Add an attribute 部分下的 end-user documentation 中阅读了有关允许值的信息,它指出您可以控制在使用 addAttribute 方法时允许该属性具有的值,但是我'不确定在调用HTMLPurifier_Config::create() 时传入配置数组时如何复制它?

如何做到这一点?

【问题讨论】:

  • 查看stackoverflow.com/a/29317456/245790 以获得一些建议。
  • @pinkgothic 谢谢,我看到了那个帖子,但不知道如何在配置数组方法中实现它。我正在使用 Yii2 框架,所以它已经为你实例化了它,但我想出了一种方法,现在用 Yii2 使用回调,如 here 所示。

标签: php security sanitization htmlpurifier


【解决方案1】:

创建配置对象,然后在其上调用getHTMLDefinition,然后按照customize中的说明进行操作。

【讨论】:

    猜你喜欢
    • 2015-06-22
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多