首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htmlPurifier不使用TinyMCE

htmlPurifier不使用TinyMCE
EN

Stack Overflow用户
提问于 2012-12-12 06:59:16
回答 2查看 781关注 0票数 3

我使用htmlPurifier来防止来自用户的XSS攻击,在输入type="text“字段上一切正常。但是,当我试图清理tinyMCE文本区域时,htmlPurifier似乎不起作用,例如:

简单输入文本字段

投入:

代码语言:javascript
复制
<script>alert("XSS")</script>Cleaning Test

输出:清洁测试

tinyMCE TEXTAREA

投入:

代码语言:javascript
复制
<script>alert("XSS")</script>

输出:<script>alert("XSS")</script>

我错过了什么吗?为什么htmlPurifier在一个简单的输入文本上工作,而tinyMCE文本区域却不工作?

Ps.:魔法引号取消了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 20:08:32

我想我找到了问题所在。

tinyMCE自动对以下实体进行编码:

代码语言:javascript
复制
< into &lt;
> into &gt;
" into &quot;
& into &amp;

我尝试在tinyMCE上使用不同类型的tinyMCE,但它们似乎都不像我想要的那样工作,所以我使用PHP: html_entity_decode来解码tinyMCE文本区域,然后使用htmlPurifier对数据进行净化,现在一切正常。

希望别人能找到有用的东西。

票数 7
EN

Stack Overflow用户

发布于 2012-12-12 09:20:50

您需要调用tinymce.triggerSave(),以便将tinymce内容写回tinymce源元素(可以是文本区域),然后净化器才能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13834456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档