==请教各位,xss_clean把提交内容的<script...转换得面目全非==
xss_clean(或$this->input->post($var, TRUE))把提交内容的<script...转换得面目全非,比如,直接成了script....实际还是需要正常显示这些字符的。
以往不用CI时,都是直接htmlspecialchars处理,现在用CI似乎反而麻烦了,不知各位都是怎么处理的?
数据序列化后再提交,jquery中有相关的函数,可以直接用的,你是用的jquery吗? Altair 发表于 2013-2-19 02:03 static/image/common/back.gif
数据序列化后再提交,jquery中有相关的函数,可以直接用的,你是用的jquery吗? ...
不是js提交数据,而是提交内容(贴子)里面,包含<script...一类的代码。
通常这类用户提交数据(post/get)我都处理一下再入库
手册“表单验证”里面 提到一个过滤函数 prep_for_formprep_for_form,可以讲特殊字符转换成实体,可能对你有用吧? Altair 发表于 2013-2-20 02:57 static/image/common/back.gif
手册“表单验证”里面 提到一个过滤函数 prep_for_formprep_for_form,可以讲特殊字符转换成实体,可能对你 ...
看了一下,实现的作用与htmlspecialchars基本一样,似乎比xss_clean更好些。
多谢:) :P:victory::victory: 直接$this->input->post($var); longjianghu 发表于 2013-2-21 08:42 static/image/common/back.gif
直接$this->input->post($var);
好像可以,多谢:) 直接用$this->input->post() 其实就是去掉了跨站脚本过滤功能。
手册上有说明post的第二个参数。
第二个参数是可选的,如果想让取得的数据经过跨站脚本过滤(XSS Filtering),把第二个参数设为TRUE。 kevin11 发表于 2013-2-21 19:48 static/image/common/back.gif
直接用$this->input->post() 其实就是去掉了跨站脚本过滤功能。
手册上有说明post的第二个参数。
第二个 ...
默认是没有去掉跨站脚本的,刚刚测试过,后台可以直接insert db,存入的数据还是原样,比如<script ...
但是你前台显示的时候就有问题了。如果加上过滤功能TRUE,就是我原来说的转换成面目全非了。
原来我不用CI的时候,都是手工htmlspec,这样存到DB里的是<script...,这样前台显示的时候也是OK的。
页:
[1]
2