ThinkPHP框架提示令牌数据无效 C/C++ java

admin 6月前 228

按照官方的写法,我怎么都是提示令牌数据无效

令牌数据无效:

最后各种资料查,最终解决办法如下:

//html
<form action="" method="post">
    <a href="">Version:{$Think.version}</a><br>
    <input type="text" name="account" value="123456">
    <input type="text" name="password" value="123456">
    <input type="hidden" name="__token__" value="{$Request.token}" />
    <input type="submit" value="post">
</form>
//controller
use think\Controller;
class Token extends Controller
{
    public function index()
    {
        if( $this->request->isPost() ) {
            $data = [
                'account'  => $this->request->param('account' , null) ,
                'password' => $this->request->param('password' , null) ,
                '__token__'=>$this->request->param('__token__',null)
            ];
//            dump($data);die;
            $validate = new \app\test\validate\Token;
            if( !$validate->check($data) ) {
                echo $validate->getError();
            }
            else {
                echo "ok";
            }
        }
        return $this->fetch();
    }
}
//validate
namespace app\test\validate;
use think\Validate;
class Token extends Validate
{
    protected $rule = [
        'account'  => 'require|length:6:7|token' ,
        'password' => 'require|max:6' ,
    ];
}

另一个控制器验证例子 tp5.0.10

<form action="{:url('save')}" method="post">
    {:token()}
    username:<input type="text" name="username"><br>
    password:<input type="text" name="password"><br>
    password_confirmation:<input type="text" name="repassword"><br>
    <input type="submit">
</form>
public function save(Request $request)
    {
//                halt($request->param());
        $result = $this->validate(
            [
                'username'   => $request->param('username') ,
                'password'   => $request->param('password') ,
                'repassword' => $request->param('repassword') ,
                '__token__'=>$request->param('__token__') //必须
            ] ,
            [
                'username'   => 'require|min:3|unique:user|token' ,//验证user模型唯一 //必须
                'password'   => 'require|min:3' ,
                'repassword' => 'require|min:3|confirm:password'
            ],
            [
                'username.token'=>'请勿重复提交数据' //令牌不正确的返回信息,默认是“令牌数据无效”
            ]
        );
        if( true !== $result ) {
            halt($result);
        }
        $user = \app\common\model\User::create([
            'username' => $request->param('username') ,
            'password' => MD5($request->param('password'))
        ]);
        if( !$user ) {
            halt($user);
        }
        else {
            /*session('uid',$user->id);
            dump('自动登录');
            return redirect('index/user/index');*/
        }
    }

更新数据使用令牌

public function update(Request $request , $id)
    {
        //单独更新
        $info = \app\common\model\WashCardCate::get(['id' => $id]);
        $data = input('post.');
        $info->title = $data['title'];
        $info->note = $data['note'];
        $info->start_time = strtotime($data['start_time']);
        $info->end_time = strtotime($data['end_time']);
        $info->count = $data['count'];
        $info->car_id = implode(',' , $data['car_id']);
        $info->wash_id = implode(',' , $data['wash_id']);
        $info->__token__ = input('__token__');//这里
        //        dump($info);die;
        $validate = new \app\common\validate\WashCardCate();
        $result = $validate->check($info);
        if( false === $result ) {
            return $this->error($validate->getError());
        }
        $info->save();
        return $this->success('ok' , url('index'));
    }

少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:char码值对应列表大全
下一篇:如何修改discuz!x3论坛页面的缓存设置
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回