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 编程安全性小结
Jan 08 PHP
php 高效率写法 推荐
Feb 21 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
Jul 31 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
Python装饰器简单用法实例小结
2018/12/03 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
关于numpy数组轴的使用详解
2019/12/05 Python
python破解同事的压缩包密码
2020/10/14 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
Bootstrap 学习分享
2012/11/12 HTML / CSS
信息管理专业学生自荐信格式
2013/09/22 职场文书
森林防火工作方案
2014/02/14 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
基层党建工作简报
2015/07/21 职场文书
文艺委员竞选稿
2015/11/19 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫