用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4912|回复: 8
收起左侧

[已解决] 请教:xss打开的时候,css样式的过滤问题

[复制链接]
发表于 2012-2-29 09:40:22 | 显示全部楼层 |阅读模式
本帖最后由 phptree 于 2012-2-29 09:43 编辑

我打开了xss过滤,提交的含有css内容的数据不能正常获得!
请教:我即想使用过滤这个功能,又能获得正确的值,该怎么做呢?
PHP复制代码
 
config['global_xss_filtering'] = TRUE;
 
复制代码

提交含有css样式的内容的时候,用下面两种都不能正确获得提交的值
PHP复制代码
 
$this->input->post('con')
$this->input->post('con',false)
 
复制代码

例如:
HTML复制代码
 
<p><span style="color:#ff0000;">1111111</span></p>
 
复制代码
插入数据库的内容只有
HTML复制代码
 
<p><span
 
复制代码
这种情况该如何处理呢?


发表于 2012-2-29 11:11:47 | 显示全部楼层
确认不是你的富文本编辑器的问题,因为有的富文本编辑器会过滤掉这些。
 楼主| 发表于 2012-2-29 11:22:29 | 显示全部楼层
本帖最后由 phptree 于 2012-2-29 11:25 编辑
huboo82 发表于 2012-2-29 11:11
确认不是你的富文本编辑器的问题,因为有的富文本编辑器会过滤掉这些。

我用的是ckeditor,改成false就正常显示了
PHP复制代码
config['global_xss_filtering'] = FALSE;
复制代码

但是这样就起不到过滤的作用了啊!

先前用FCK的时候,没用框架只是会加斜线而已,而这次却是过滤掉整个后面的内容
发表于 2012-2-29 11:42:29 | 显示全部楼层
为了安全,CI过滤掉那些东西了。
你要允许只能自己去修改CI源码。

点评

请教前辈,在开发中,是改CI源码,还是用自定义的函数比较好?不可能在用户输入的时候禁止css吧  发表于 2012-2-29 15:16
发表于 2012-2-29 11:53:20 | 显示全部楼层
发现同样的问题。http://codeigniter.com/forums/viewthread/186100/
HTML复制代码
 
style="background-image(http://sucks.com/any.png)"
 
复制代码

  1. and any.png is a malicious controller
  2. could that be harmful?
复制代码


如果不介意上面这种可能的威胁,可以看看他们6楼的解决方法。
 楼主| 发表于 2012-2-29 15:14:56 | 显示全部楼层
huboo82 发表于 2012-2-29 11:53
发现同样的问题。http://codeigniter.com/forums/viewthread/186100/

谢谢前辈!
他们争论来争论去的,也没有好点子,看来我还是禁掉xss,每个post单独使用xss,遇到css就用addslashes吧
也不知道大家在真正的开发中遇到这种问题是怎么解决的啊
发表于 2012-2-29 16:38:30 | 显示全部楼层
phptree 发表于 2012-2-29 15:14
谢谢前辈!
他们争论来争论去的,也没有好点子,看来我还是禁掉xss,每个post单独使用xss,遇到css就用ad ...

一般都是遇到问题就扩展下 CI 的函数,改成符合自己要求的。
发表于 2012-4-7 13:04:49 | 显示全部楼层
哎,我今天也遇到这个问题了,编辑器提交的内容。
发表于 2012-8-27 15:38:37 | 显示全部楼层
我也遇到了这样的问题。。哎。真是麻烦呢。不知道在下个版本中会不会改进。

本版积分规则