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 相关文章推荐
用PHP来写记数器(详细介绍)
Oct 09 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
php zend 相对路径问题
Jan 12 PHP
php 获取客户端的真实ip
Nov 30 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
PHP异常类及异常处理操作实例详解
Dec 19 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 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
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
js树形控件脚本代码
2008/07/24 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python命令 -u参数用法解析
2019/10/24 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
python中pop()函数的语法与实例
2020/12/01 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
会计出纳岗位职责
2013/12/25 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
财务内勤岗位职责
2014/04/17 职场文书
2015年班干部工作总结
2015/04/29 职场文书
2015年市场部工作总结
2015/04/30 职场文书