防止sql注入


1、查询条件尽量使用数组方式,具体如下:

 $wheres = array();

 $wheres['account'] = $account;

 $wheres['password'] = $password;

 $User->where($wheres)->find();

2、如果必须使用字符串,建议使用预处理机制,具体如下:

 $User = D('UserInfo');

 $User->where('account="%s" andpassword="%s"',array($account,$password))->find();

3、可以使用PDO方式(绑定参数),因为这里未使用PDO,所以不罗列,感兴趣的可自行查找相关资料。



表单合法性检测


1、配置insertFields和updateFields属性

 class UserInfoModelextends Model {

      // 数据表名字

      protected $tureTableName ='user';

      // 配置插入和修改的字段匹配设置(针对表单)

      protected $insertFields =array('name','sex','age');

      protected $updateFields =array('nickname','mobile');

 } 

上面的定义之后,当我们使用了create方法创建数据对象后,再使用add方法插入数据时,只会插入上面配置的几个字段的值(更新类同),具体如下:

 // 用户注册(示意性接口:插入)

      public function register() {

           // ...

           // 使用Model的create函数更安全

           $User= D('UserInfo');

           $User->create();

           $ID= $User->add();

           if($ID) {

                $result= $User->where('id=%d',array($ID))->find();

                echo json_encode($result);

           }

           // ...

      } 

2、使用field方法直接处理

 // 插入

 M('User')->field('name,sex,age')->create();

 // 更新

 M('User')->field('nickname,mobile’)->create();

over!over!over!

最新文章

  1. __thread关键字[转]
  2. sql 查询表的所有详细信息
  3. 解释一下SQLSERVER事务日志记录
  4. RequestMethod.DELETE相关,如何用jquery实现RequestMethod.DELETE请求
  5. 2. hdfs
  6. JavaWeb笔记——注册登录系统项目思路
  7. React 点击删除列表中对应项(React 获取DOM中自定义属性)
  8. HTTP缓存缓存机制
  9. 【转】使用PowerDesigner的建模创建升级管理数据库
  10. 判断ios或者android
  11. 从网络上获取图片,并写入excel文件
  12. 访问https 报错ssl 协议异常
  13. mysql 开发进阶篇系列 13 锁问题(关于表锁,死锁示例,锁等待设置)
  14. cygwin 安装包管理器 apt-cyg
  15. PHP三种访问控制模式(public、protected、private)解析
  16. SSH防止超时的设置
  17. angular enter事件,angular回车事件
  18. python学习笔记5--加密模块hashlib
  19. Windows环境下ELK(5.X)平台的搭建
  20. filter IE滤镜(Internet Explorer)CSS

热门文章

  1. TCP/IP Protocol Architecture
  2. 转:Python yield 使用浅析 from IBM Developer
  3. 【自用】OI计划安排表一轮
  4. 基于社交网络的情绪化分析IV
  5. Eclipse - 循环cin的输出怎样终止
  6. 终端中的乐趣:6个有趣的Linux命令行工具
  7. html中跳转方法(含设定时间)
  8. HTML页面中点击按钮关闭页面几种方式与取消
  9. glGenLists返回0或None的原因
  10. 浅谈JavaScript的事件(事件对象)