thinkPHP中create方法与令牌验证实例浅析

时间:2021-12-18 15:39:46

本文实例讲述了thinkPHPcreate方法与令牌验证。分享给大家供大家参考,具体如下:

thinkPHP的create方法与令牌验证主要是涉及表单的安全性。

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action{
 public function index(){
  $this->display();
 }
 //一般用户在网站完成信息的添加修改……但是有意外,用户吧网页另存为到本地了,然后在这当中模拟了很多组数据,然后……不停地刷新想我的数据库中写入,还将隐藏表当中的id给改了
 //原先在处理过程中可以判断上级来源,如果上级地址等于我网站的地址,我就将其写入,如果不是我网站的,我就禁止其写入……而上级来源可以被模拟
 //create() 会自动去获取相关数据;自动令牌验证;完成自动映射,自动填充,自动验证(三大自动)创建成功会返回一个数组,否则false ;会增加一个隐藏项隐藏项加密方法md5
 //令牌验证可以设置,加密方法也可以设置 TOKEN_NO=>true;
 function add(){
  $user=new Model('user');
  if($vo=$user->create()){
   //success 这个方法是执行成功的一个方法,它会给出对应的跳转页面,跳转时间,还有成功信息提示,此文件放在default的Public公共文件里
   //dump($vo);
   echo $user->username;
   echo $user->password;
   dump($user);
   $this->success('实例化模型成功');
  }
  else{
   //error是执行失败的方法,在这个方法当中,执行失败代码就不会向后继续
   $this->error($user->getError());//getError()专门用来显示详细错误信息
  }
 }
}
?>

模板文件如下:

?
1
2
3
4
5
6
<form action="__URL__/add" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="hidden" id="2" />
<input type="submit" value="提交" />
</form>

希望本文所述对大家基于thinkPHP框架的PHP程序设计有所帮助。