允许使用HTMLPurifier的data-*属性

joh*_*odo 12 php htmlpurifier

目前我在HTMLPurifier中使用此代码来允许data-*HTML标记属性:

    $def = $config->getHTMLDefinition(true);
    $def->addAttribute('div', 'data-aaa', 'Text');
    $def->addAttribute('div', 'data-bbb', 'Text');
    // ...
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以同时允许所有data-*属性,最好是在所有HTML标签上?(在我的情况下,它们不是安全问题 - 当然,据我所知)

Ada*_*nco 7

它不是一个完整的解决方案,但我能够data-使用以下代码全局地列出单个属性,允许将它们放在任何元素上,而不必逐条列出每个属性的每个元素类型.

$def = $config->getHTMLDefinition(true);
$def->info_global_attr['data-aaa-xxx'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-bbb-yyy'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-ccc-zzz'] = new HTMLPurifier_AttrDef_Text;
Run Code Online (Sandbox Code Playgroud)


Edw*_*ang 1

不,如果不修改验证属性策略,这是不可能的。

  • 是否考虑实施?可能非常有用 (4认同)