主题: 关于javascript会在编辑器中运行问题 |
作者: koywang, 发布日期: 2011-04-11 12:58:26, 浏览数: 4198 |
这两天在一个项目中的日志模块用到该编辑器,然后随便copy了一下东西到编辑器中,保存进数据库后然后获取数据进行修改发现在编辑器中会执行那些javascript代码,不知道怎么让编辑器不运行js脚本而是直接输出~~求解!! 以下全部是问题代码:
<html> <table width="93%" border="1" cellspacing="0" cellpadding="1" align="center" class="p1"> |
作者: oicq, 发布日期: 2011-04-11 15:54:38 |
我也发现此问题了
把鼠标放这里试一下 |
回复 |
作者: oicq, 发布日期: 2011-04-11 15:56:34 |
这里的给过滤掉了,我下载的例子中没过滤。 |
回复 |
作者: oicq, 发布日期: 2011-04-11 16:24:32 |
在HTML模式下,用一个最简单的 [div onmouseover="alert('33333333');"][/div]测试过了。 不用提交,从HTML模式切换到所见即所得模式,移动鼠标,会弹出警告框。
3.5.2就不存在这个BUG, 3.5.3就存在这个BUG |
回复 |
作者: Roddy, 发布日期: 2011-04-11 17:25:14 |
这方面一直没做处理,3.5.2没问题的原因可能是用了designMode方式,3.5.3开始用contentEditable了,不过非IE浏览器一直有这个问题。 解决方案是,先把script替换成一个不可见的标签,最后输出时再还原,onclick等属性也要转换的。我先记录一下,下一个版本应该能修复这个问题。 |
回复 |
作者: oicq, 发布日期: 2011-04-11 20:06:52 |
下个版本大概什么时间出来? 我等下个版本再用。 |
回复 |
作者: oicq, 发布日期: 2011-04-11 21:28:37 |
还有个问题。 使用kindeditor编辑器,在输出内容时,如何解决XSS攻击的问题? 既然支持HTML语法,又让用户自己输入代码,那就得防止用户输入破坏性的代码。 怎样才能过滤掉破坏性的代码,同时又保证编辑器正常的代码? 有没有现成的过滤函数? 给个例子也行。 |
回复 |
作者: Roddy, 发布日期: 2011-04-11 21:54:10 |
回复 |