我正在使用CodeIgniter开发一个项目,在我的本地主机上使用google chrome 14.0.803.0 dev-m在w7 enterprise x64 SP1上的wamp server的最新版本上,并在{{3}之后添加了CKeditor 3.6.1 }}
我遇到了一个奇怪的问题,希望你能帮助我。
当我发布数据时,它会被“修剪”。我的意思是,在我提交表单之前,当我在ckeditor上按源代码时,textarea上的内容是这样的:
<p>
<span style="font-size:16px;"><span style="font-family:comic sans ms,cursive;"><span style="background-color:#ffff00;">foobar</span></span></span></p>
但是在帖子之后,它变成了这个(在我的发布方法的最顶端使用die("<pre>".print_r($_POST)."</pre>")
获取代码并查看源代码,同样添加到数据库中):
<p>
<span>span style="font-family:comic sans ms,cursive;"><span>foobar</span></span></span></p>
为什么<span>
会变成<span>span
?我该如何解决这个问题?
p.s:你会建议使用TinyMCE而不是CKeditor吗?
提前致谢。
答案 0 :(得分:3)
您是否在配置文件中打开了XSS过滤器?它从POST输入中删除了一些“非法”标签。
如果是,请将其关闭然后重试。如果您的问题得到解决,您现在知道问题所在。现在,您只需要重新打开XSS过滤器,找到绕过CKEditor字段的XSS过滤器的方法。
我用过这个方法: http://codeigniter.com/forums/viewthread/186100/#919438