TP5框架安全机制实例分析


Posted in PHP onApril 05, 2020

本文实例讲述了TP5框架安全机制。分享给大家供大家参考,具体如下:

防止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();

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
实时抓取YAHOO股票报价的代码
Oct 09 PHP
PHP4和PHP5共存于一系统
Nov 17 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
解决laravel session失效的问题
Oct 14 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 #PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 #PHP
TP5框架实现签到功能的方法分析
Apr 05 #PHP
TP5框架页面跳转样式操作示例
Apr 05 #PHP
TP5框架实现的数据库备份功能示例
Apr 05 #PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 #PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 #PHP
You might like
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python正则表达式面试题解答
2020/04/28 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
会计自我鉴定范文
2013/10/06 职场文书
劳资员岗位职责
2013/11/11 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
教师个人鉴定材料
2014/02/08 职场文书
暑期培训随笔感言
2014/03/10 职场文书
婚礼主持词
2014/03/13 职场文书
洗发水广告词
2014/03/13 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
调研汇报材料范文
2014/08/17 职场文书
车间安全生产管理制度
2015/08/06 职场文书
培训感想范文
2015/08/07 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android