首页 > 代码库 > 表单 对数据库字段自动加密解密表单提交(THINKPHP3.2)
表单 对数据库字段自动加密解密表单提交(THINKPHP3.2)
1.config配置变量
‘MODEL_FIELD_FLAG‘ => TRUE,//表单加密开关
‘MODEL_FIELD_NAME_PRE‘ => ‘mlm_‘,//表单加密前缀
‘MODEL_FIELD_EMCODE‘ => ‘md5‘,//加密方式
‘MODEL_FIELD_EMCODE_KEY‘ => ‘GAD@DFVGFasfdgA‘//加密key
2.控制器层
$model 继承基础类 BaseModel BaseRelationModel 任意一个的自定义模型 初始化对象
$data[‘_field‘] = $model->fields_name_encode();//获取数据库加密字段数组
$this->assign(‘data‘, $data);
3.视图表单
<input type="text" name="{$data._field.title}" value=http://www.mamicode.com/"{$data.title}" maxlength="50"/>
4.表单提交控制器
可直接调用$model->create_decode(); 做的工作是解析加密字段至对应数据库字段值 可替代模型create自带方法,
也可手动调用$model->fields_data_decode(I(‘post.‘), true);解密数据字段值
/**
* 解密加密数组
* @param type $data 提交数组
* @param type $flag 过滤数组非数据库字段 开关
* @return type
*/
public function fields_data_decode($data = http://www.mamicode.com/array(), $flag = false) {
...
‘MODEL_FIELD_FLAG‘ => TRUE,//表单加密开关
‘MODEL_FIELD_NAME_PRE‘ => ‘mlm_‘,//表单加密前缀
‘MODEL_FIELD_EMCODE‘ => ‘md5‘,//加密方式
‘MODEL_FIELD_EMCODE_KEY‘ => ‘GAD@DFVGFasfdgA‘//加密key
2.控制器层
$model 继承基础类 BaseModel BaseRelationModel 任意一个的自定义模型 初始化对象
$data[‘_field‘] = $model->fields_name_encode();//获取数据库加密字段数组
$this->assign(‘data‘, $data);
3.视图表单
<input type="text" name="{$data._field.title}" value=http://www.mamicode.com/"{$data.title}" maxlength="50"/>
4.表单提交控制器
可直接调用$model->create_decode(); 做的工作是解析加密字段至对应数据库字段值 可替代模型create自带方法,
也可手动调用$model->fields_data_decode(I(‘post.‘), true);解密数据字段值
/**
* 解密加密数组
* @param type $data 提交数组
* @param type $flag 过滤数组非数据库字段 开关
* @return type
*/
public function fields_data_decode($data = http://www.mamicode.com/array(), $flag = false) {
...
}
效果
基础模型类
<?php namespace Root\Model; use Think\Model; /** * 模型基础类 */ class BaseModel extends Model { /** * 解密加密数组 * @param type $data 提交数组 * @param type $flag 过滤数组非数据库字段 开关 * @return type */ public function fields_data_decode($data = http://www.mamicode.com/array(), $flag = false) {>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。