簡體   English   中英

無法在laravel5.2中刪除會話值

[英]Can't delete session value in laravel5.2

我使用這些代碼停止了多表單提交。但這是行不通的。 我發現$ form_token$ token始終相同。 我已經寫了會話(['form_token'=> null])。 但這不起作用為什么?

// make token
function form_token()
{
    session(['form_token' => Str::random(40)]);
    return session('form_token');
}

//check token
function check_token($form_token, $token)
{
    if ($form_token == $token) {
        session(['form_token' => null]);
    } else {
        throw new RuntimeException('Do not submit multiple times');
    }
}

// middleware
public function handle($request, Closure $next)
{
    if (!in_array($request->method(), ['HEAD', 'GET', 'OPTIONS'])) {
        $form_token = $request->input('form_token');
        $token      = session('form_token');
        check_token($form_token, $token);
    }
}

嘗試forget()方法:

session()->forget('form_token');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM