Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Htmlpurifier 将CSS添加到白名单-边框半径、不透明度、文本阴影_Htmlpurifier - Fatal编程技术网

Htmlpurifier 将CSS添加到白名单-边框半径、不透明度、文本阴影

Htmlpurifier 将CSS添加到白名单-边框半径、不透明度、文本阴影,htmlpurifier,Htmlpurifier,一开始,我对PHP或HTMLPurifier本身的工作原理了解很少,我正在不断地学习。通过自学,我对HTML和CSS有了相当的了解,但在这一点上,我认为自己不过是个新手 我通过hostgator运行myBB论坛,我的用户希望允许HTML为他们的帖子制作精美的表格。因为我们一个月前才开店,而且到目前为止,我认识和信任的人的用户群非常小,所以我启用了HTML。大约一周前,我使用一个插件加上当前的库将HTMLPurifier安装到我的论坛中。它工作得很好。问题是,它消耗了我的用户用来让他们的帖子看起来

一开始,我对PHP或HTMLPurifier本身的工作原理了解很少,我正在不断地学习。通过自学,我对HTML和CSS有了相当的了解,但在这一点上,我认为自己不过是个新手

我通过hostgator运行myBB论坛,我的用户希望允许HTML为他们的帖子制作精美的表格。因为我们一个月前才开店,而且到目前为止,我认识和信任的人的用户群非常小,所以我启用了HTML。大约一周前,我使用一个插件加上当前的库将HTMLPurifier安装到我的论坛中。它工作得很好。问题是,它消耗了我的用户用来让他们的帖子看起来不错的大部分代码

我试图在边框颜色和边框宽度代码之间插入我在CSSDefinition.php文件中找到的代码,以尝试修复边框半径问题

// border-radius
$border_radius =
    $this->info['border-top-left-radius'] =
    $this->info['border-top-right-radius'] =
    $this->info['border-bottom-left-radius'] =
    $this->info['border-bottom-right-radius'] = new HTMLPurifier_AttrDef_CSS_Composite(array
(
    new HTMLPurifier_AttrDef_CSS_Length('0'),
    new HTMLPurifier_AttrDef_CSS_Percentage(true)
)
);
    $this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius);
我想那根本没用,因为他的已经过时了。我没有找到任何关于将文本阴影添加到白名单的信息,也没有找到如何允许不透明度的信息,或者是通过
opacity:#
rbga(#,#,#,0.5)
,尽管我确实找到了一个针对后者的破解方法,但对于如何实际处理该文件,我无法完全理解


我不知道如何运行我的Config.php文件,因为我可以看到代码中有信息,但尝试通过各种方式访问该页面却毫无用处。

我建议您阅读此处的“配置文档”:。HTMLPurifier使用白名单。默认情况下,每个HTML标记和属性都被列入黑名单。所以你应该使用一个白名单,只允许特定的HTML和CSS属性/属性。我理解这一点。如果你读了我的文章,你会发现我正在寻求帮助,如何将三个特定的CSS元素列入白名单,其中两个我不知道应该插入哪些代码。我查看了“配置文档”文档,发现其中谈到了CSS.AllowedProperties,但当我尝试添加上面链接的边界半径代码时,它似乎不起作用。你找到解决方案了吗?@user706420我没有找到解决方案。我一直在尝试使用亵渎过滤器来处理一些导致小问题的代码(没有恶意),但我真的希望能够使用HTMLPurifier。可以在这里找到边界半径的补丁:可以在这里找到rgba的补丁:包括不透明度,必须使用$config->set('CSS.AllowTricky',TRUE);别忘了删除htmlpurifer中的css缓存,我仍然在搜索文本和边框阴影的解决方案