我正在使用带有tinyMCE的HTML净化器。我使用 $_POST['content'];
将内容放入文本区域之后我使用以下代码
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$content = $_POST['content'];
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
但是,当我 echo $pure_content 时,我得到了我输入的代码,没有任何更改。为了确保 HTMLpurifier 没有问题,我使用了以下代码片段
$value = '<script>Malicious script</script><b>Bold</b>';
$pure_content = $purifier->purify($value);
在 echo 之后我变得大胆那么我在这里做错了什么?
编辑
$_POST['content'] 内的值为 <script>Malicious script</script><b>Bold</b>
最佳答案
我正在使用tinyMCE编辑器。问题是它会自动对输入的所有 html 代码(如果有)进行编码。我不得不使用
$decoded_content = html_entity_decode($content);
然后将结果传递给html净化器。
关于javascript - htmlpurifier 无法与 $_POST 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28262337/