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 addslashes和mysql_real_escape_string
Jan 24 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
php过滤敏感词的示例
Mar 31 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
php类的扩展和继承用法实例
Jun 20 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
PHP的PDO常用类库实例分析
Apr 07 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
PHP详细彻底学习Smarty
2008/03/27 PHP
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python引用计数操作示例
2018/08/23 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
最新自我评价范文
2013/11/16 职场文书
运动会通讯稿300字
2014/02/02 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
体育活动总结范文
2014/05/04 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书