yii防止sql注入
*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();
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: YII 防止自定义sql注入
- 下一篇: Java操作数据库之jdbc【原生方式】