unfiltered_html和unfiltered_upload实际上会过滤什么?


8

WordPress的功能包括unfiltered_htmlunfiltered_upload,但是我还没有找到有关它们具体允许或阻止其过滤的文档。

我在WordPress网站上发现的唯一提及unfiltered_html是:

允许用户在页面,帖子,评论和小部件中发布HTML标记甚至JavaScript代码。

我已经看到非管理员可以过滤掉JavaScript,但是正在过滤什么HTML?

对于unfiltered_upload

默认情况下,任何角色(包括超级管理员)都无法使用此功能。需要通过定义以下常量来启用此功能:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

定义此常数后,可以为单个站点安装中的所有角色赋予unfiltered_upload功能,但只有超级管理员可以具有在多站点安装中的功能。

同样,该描述并没有说明允许的内容和过滤掉的内容。

有人可以准确地告诉我unfiltered_htmlunfiltered_upload功能允许或阻止哪些元素,代码或文件类型吗?

Answers:


7

很难给出准确的答案,因为功能的使用范围经常超出其含义。例如,check for manage_options通常是检查管理员用户的同义词,可以在与选项无关的情况下出现。

通常,通过或不通过的主题内容之间会有差异wp_kses()。具体的kses设置以及允许的设置取决于上下文,并且可能会有所警惕。

unfiltered_upload我所记得而言,它更为简单。如果没有它,则只允许列出白名单的文件类型。该列表基于wp_get_mime_types()


1
在文件中,wp-includes/kses.php您可以找到kses函数使用的$allowedposttags$allowedtags数组的初始值。
米洛

感谢您的解释。好像要上传的MIME类型可以在core.trac.wordpress.org/browser/tags/4.3/src/wp-includes/…中找到。知道引用的代码unfiltered_html可能在哪里吗?
j08691 2015年

unfiltered_html被四溅遍布代码库。快速的源搜索可以找到十几个提到它的文件。
罗斯特(Rarst)2015年

有人可以解决这个问题吗?当前,上传未列入白名单的媒体是一场不可能的噩梦。没有一个插件可以正常工作。WordPress是CMS-是的。是一个内容管理系统。
Jim Maguire

1
这个问题从字面上拯救了我们的生命,我们一直在寻找分散解决问题的方法,我们有自定义帖子类型,必须由客户使用自定义帖子类型进行操作,这些客户使用有效的脚本和SVG文件生成他们的帖子,并且,问题不在于保存帖子,而是WP已完全剥离了帖子。这给了我们正确的方向和正确的cap使用,谢谢
克雷西米尔Pendic

4

我很欣赏这是一个旧线程,但是受限制的unfiltered_html在我们的新闻站点上给我们带来了巨大的问题。

内部作家(一类特殊的用户)需要在他们的故事中放置照片和视频。尽管照片不是问题,但将iframe嵌入到嵌入了视频代码的页面中后,当他们保存故事时,嵌入的代码便消失了。

如果视频是由编辑者为他们嵌入的,那​​么作家在保存故事时仍然会丢失iframe。

通过取消阻止unfiltered_html,我们的员工作者可以嵌入视频内容并正确放置其帖子。

至于unfiltered_uploads,我相信已经回答了。

希望这对某人有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.