如何正确地正确地转义HTML编辑器内容?

时间:2017-08-28 16:56:23

标签: php html xss wysiwyg htmlpurifier

所以我使用的是TinyMCE编辑器并使用htmlspecialchars()来处理文本区域中的内容,这可以正常工作,但我在使用WYSIWYG编辑器的另一边有点困惑...内容输出部分。

我正在使用HTML Purifier输出内容,但据我所知,我刚才这样做:

$purifierConfig = HTMLPurifier_Config::createDefault();
$purifierConfig->set('HTML.Allowed', 'p');
$Purifier = new HTMLPurifier($purifierConfig);
$input = $Purifier->purify($input);

我只测试了p标签,但这是否意味着我将不得不通过TinyMCE使用的所有内容并将其添加到允许的内容中?或者是否有更好的方法来解决这个问题与WYSIWYG编辑器的安全输出?

1 个答案:

答案 0 :(得分:1)

是的,您需要设置所需的所有标记,用逗号分隔。您还可以通过括号括起来指定允许的属性:

$purifierConfig = HTMLPurifier_Config::createDefault();
$purifierConfig->set('HTML.Allowed', 'p,a[href],b,i,strong,em');
$Purifier = new HTMLPurifier($purifierConfig);
$input = $Purifier->purify($input);

我想更好理解,printDefinition可以提供帮助。