时时商务社区
标题:
$_GET['goods_id']+0 的使用详解
[打印本页]
作者:
bewin83
时间:
2018-2-14 08:21
目的:
为了防止sql注入,tid,goods_id都是正整数类型,防止人为了在后面追加 ?tid=1 or 1 这样的语句.
原理:
不管你的参数多么险恶,+0后都老老实实变成数值类型
比如 '?tid=1 or 1' , $_GET['tid']+0 后值变成1;
有学生问,你为什么不用(int)强转或intval来转换.
1: 用哪种方式,目的都是一样的
2: 用+0,只需要打2个字符,用(int)要打5个,intval()要打8个.
3: 对于+0,我不需要关心$tid是整型还是浮点型,还是大于2^32的长整型(如mysql中取得bigint), +0都能适应.
而用强转,则会发生溢出,当然你可以说,我用float来转,那不是还得分情况区别吗.
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2