防止非法字段提交(ThinkPHP)——安全问题

​方法一:

自己定义的方法:

防止非法字段提交(ThinkPHP)——安全问题_第1张图片




方法二

TP框架里面,给我们提供了过滤非法字段的方式。

 Model.class.php里面定义了两个常量。

const MODEL_INSERT          =  1;      //  插入模型数据

const MODEL_UPDATE          =  2;      //  更新模型数据

防止非法字段提交(ThinkPHP)——安全问题_第2张图片

在我们写的create方法里面,添加参数,

防止非法字段提交(ThinkPHP)——安全问题_第3张图片

分析添加参数意义,打开tp源码包里面的Model.calss.php文件的create方法。

我们在自定义Type模型里面定义了insertFields属性。

防止非法字段提交(ThinkPHP)——安全问题_第4张图片

防止非法字段提交(ThinkPHP)——安全问题_第5张图片

 

1035行的位置,是过滤非法提交的字段,$data是提交post数据,包含非法提交的字段,

$fields是模型里面设置的合法提交的字段,通过如下foreach循环来过滤

防止非法字段提交(ThinkPHP)——安全问题_第6张图片

 

总结

1)在模型里面的insertFields属性定义合法提交的字段。


2)在控制器里面添加数据时,create 方法里面,添加参数;

防止非法字段提交(ThinkPHP)——安全问题_第7张图片



你可能感兴趣的:(TP框架,项目流程)