关于Yii2的防sql注入 [ 2.0 版本 ]
引用权威指南的一句话:在 Yii 中,大部分的数据查询是通过 Active Record 进行的, 而其是完全使用 PDO 预处理语句执行 SQL 查询的。在预处理语句中,上述示例中,构造 SQL 查询的场景是不可能发生的。
http://www.yiichina.com/doc/guide/2.0/security-best-practices
我理解是我用这几种方式都安全?
$model->find()->where(['id'=>$id]) //哈希格式
$model->find()->where("id=$id") //字符串格式
$model->find()->where(['=','id',$id]) //操作符格式
共 3 个回答
-
$model->find()->where([ 'id' => $id ])
第一我记得这种应该是安全的,因为会做bind 操作,如果不放心可以对 $id在使用前进行处理比如 (int)$id or 长度监测之类的其实更好的办法是在 架构设计和数据库设计的时候去屏蔽这种问题
共 2 条回复 -
qqa4560354 回答于 2017-03-20 09:35 举报
hash正解, ['id'=>$id]
sturn
注册时间:2012-01-29
最后登录:2020-04-02
在线时长:50小时6分
最后登录:2020-04-02
在线时长:50小时6分
- 粉丝5
- 金钱405
- 威望0
- 积分905