千家信息网

ThinkPHP3.1表单提交的字段合法性检测的用法

发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,这篇文章主要讲解了"ThinkPHP3.1表单提交的字段合法性检测的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ThinkPHP3.1表单提交的
千家信息网最后更新 2025年02月20日ThinkPHP3.1表单提交的字段合法性检测的用法

这篇文章主要讲解了"ThinkPHP3.1表单提交的字段合法性检测的用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ThinkPHP3.1表单提交的字段合法性检测的用法"吧!

ThinkPHP3.1版增加了表单提交的字段合法性检测,可以更好的保护数据的安全性。这一特性是3.1安全特性中的一个重要部分。

表单字段合法性检测需要使用create方法创建数据对象的时候才能生效,具体有两种方式:

一、属性定义

可以给模型配置insertFields 和 updateFields属性用于新增和编辑表单设置,使用create方法创建数据对象的时候,不在定义范围内的属性将直接丢弃,避免表单提交非法数据。

insertFields 和 updateFields属性的设置采用字符串(逗号分割多个字段)或者数组的方式,例如:

class UserModel extends Model{  protected $insertFields = array('account','password','nickname','email');  protected $updateFields = array('nickname','email'); }

设置的字段应该是实际的数据表字段,而不受字段映射的影响。

在使用的时候,我们调用create方法的时候,会根据提交类型自动识别insertFields和updateFields属性:

D('User')->create();

使用create方法创建数据对象的时候,新增用户数据的时候,就会屏蔽'account','password','nickname','email' 之外的字段,编辑的时候就会屏蔽'nickname','email'之外的字段。

下面是采用字符串定义的方式,同样有效:

class UserModel extends Model{  protected $insertFields = 'account,password,nickname,email';  protected $updateFields = 'nickname,email'; }

二、方法调用

如果不想定义insertFields和updateFields属性,或者希望可以动态调用,可以在调用create方法之前直接调用field方法,例如,实现和上面的例子同样的作用:

在新增用户数据的时候,使用:

$User = M('User');$User->field('account,password,nickname,email')->create();$User->add();

而在更新用户数据的时候,使用:

$User = M('User');$User->field('nickname,email')->create();$User->where($map)->save();

这里的字段也是实际的数据表字段。field方法也可以使用数组方式。

感谢各位的阅读,以上就是"ThinkPHP3.1表单提交的字段合法性检测的用法"的内容了,经过本文的学习后,相信大家对ThinkPHP3.1表单提交的字段合法性检测的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

字段 数据 时候 表单 方法 合法 合法性 检测 属性 方式 对象 用户 学习 安全 内容 字符 字符串 实际 数据表 数组 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 梦幻西游怎样查服务器状态 网络安全法依法给予责任 金山区市场软件开发技术指导 网络安全五行属什么行业 服务器硬盘故障报警声音 希尔顿酒店网络技术 软件开发工作室的服务特点 奔酷网络技术有限公司 软件开发经理面试问题 王者荣耀能匹配服务器人吗 长沙管理软件开发 软件开发组成人员组成 江苏应用软件开发价格表 网络安全溯源报告模板 合肥手机app软件开发 网络技术在银行中的应用 服务器市场份额2016 自学软件开发需要什么 服务器管理esim 上海综合网络技术包括什么 高速列车网络技术和控制技术 还原系统怎么备份数据库 网络安全主题团日活动概况 ktv网络技术员是做什么的 网络安全对国家的重要性政治角度 梦幻西游服务器的样子 兴业银行软件开发岗 网络安全与心理健康主题班会 浙江统一软件开发服务推广 synopsys软件开发
0