您的位置:首页 > 编程语言 > PHP开发

yii防止sql注入

2016-10-08 16:15 211 查看
*sql注入举例

原sql语句为$sql='select * from mytable where id='.$id;

(1)注入方式一:

         select * from mytable where id=1 or 1=1;

         因为1=1恒成立,将整张表全部打印

(2)注入方式二:

         select * from mytable where id=1;drop table info;--

         "--"表示屏蔽掉后面所有参数

         相当于插入参数【1;drop table info;--】,不但会查看到整张表的全部数据,而且还会删除表mytable,这是极度危险的

*yii防止sql注入的方法-占位符【:xxx】,如 :id

(1)原sql语句改为$sql='select * from mytable where id=:id';

(2)sql语句参数中加入数组参数,Mytable::findBySql($sql,[':id'=>$id])->all();      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: