问下Think PHP中对输入数据的显示是默认转义吗?比如用户输入javascript代码

cloudsben 发布于 2012/03/15 18:37
阅读 515
收藏 1

比如在输入框里输入

<script>alert('a');</script>

显示的时候如果不用htmlspecialchars

会不会alert出来?

加载中
0
leo108
leo108

据我所知是没有过滤的,得自己用htmlspecialchars函数转义。

cloudsben
cloudsben
@leo108 对,确实,有些需求确实不需要转义
leo108
leo108
@cloudsben : 这个还是得看需求的吧,不能全部转义的
cloudsben
cloudsben
看来还是rails给力点!
0
流年
流年

数据过滤没有统一的规则的,所以这块不能在框架层面上强制,更多的发挥应该留给应用。

但是新版的3.0有一个 $this->_get $this->_post之类的方法 通过这些方法获取数据的话 默认就有过滤规则的,而且默认的配置就是htmlspecialchars。

cloudsben
cloudsben
这个方法不错!想过滤的就用这个,不过有时候还真是会忘记
0
hkshadow
hkshadow

引用来自“leo108”的答案

据我所知是没有过滤的,得自己用htmlspecialchars函数转义。

一说到htmlspecialchars,我就悲催了。目前公司的一平台用2.1开发的,但之前的开发人员已经转移到其他项目组上去了,然后我抗上这个用2.1开发的平台后,发现都没有htmlspecialchars,然后一个一个的去加~~~

 

悲催啊。。。

mslxd
mslxd
那你不会统一给$_GET $_POST加吗
0
cloudsben
cloudsben

呵呵,确实,我这边是默认过滤,然后设置不过滤的字段!是这样做的

0
n
net920.com
PHP在字符转义上,的确比较纠结,最好先判断PHP是否自动转义,写个函数。
0
炜铭粑粑
炜铭粑粑
三楼   hkshadow   很强大!!!
返回顶部
顶部