HTMLPurifier iframe Vimeo和Youtube视频
问题描述:
如何使用HTMLPurifier过滤xss,还允许使用iframe Vimeo和Youtube视频?
How can I use HTMLPurifier to filter xss but also to allow iframe Vimeo and Youtube video?
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Trusted', true);
$config->set('Filter.YouTube', true);
$config->set('HTML.DefinitionID', '1');
$config->set('HTML.SafeObject', 'true');
$config->set('Output.FlashCompat', 'true');
$config->set('HTML.FlashAllowFullScreen', 'true');
$purifier = new HTMLPurifier($config);
$temp = $purifier->purify($temp);
答
HTMLPurifier版本4.4.0有新的配置指令允许YouTube和Vimeo iframe:
HTMLPurifier version 4.4.0 has new configuration directives to allow YouTube and Vimeo iframes:
//allow iframes from trusted sources
$cfg->set('HTML.SafeIframe', true);
$cfg->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'); //allow YouTube and Vimeo
- http://htmlpurifier.org/live/configdoc/plain.html#HTML.SafeIframe
- http://htmlpurifier.org/live/configdoc/ plain.html#URI.SafeIframeRegexp
- http://htmlpurifier.org/live/configdoc/plain.html#HTML.SafeIframe
- http://htmlpurifier.org/live/configdoc/plain.html#URI.SafeIframeRegexp