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 相关文章推荐
header()函数使用说明
Nov 23 PHP
php结合飞信 免费天气预报短信
May 07 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
php简单备份与还原MySql的方法
May 09 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
PHP模型Model类封装数据库操作示例
Mar 14 PHP
WordPress伪静态规则设置代码实例
Dec 10 PHP
php+laravel 扫码二维码签到功能
May 15 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采集类Snoopy抓取图片实例
2014/06/19 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
React简单介绍
2017/05/24 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
公交公司毕业生求职信
2014/02/15 职场文书
会计求职自荐信
2014/06/20 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
导游词之西递宏村
2019/12/10 职场文书
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server