Laravel 5 Laravel 5.2 CSRF令牌到期过快
我正在研究Laravel 5.2应用程序,尽管我的观点不同,但我面临着这个问题 CSRF令牌过快过期。事实上,我只是在占用时间填写表单,一旦我提交表单,就会得到Laravel 5 Laravel 5.2 CSRF令牌到期过快,laravel-5,token,csrf,Laravel 5,Token,Csrf,我正在研究Laravel 5.2应用程序,尽管我的观点不同,但我面临着这个问题 CSRF令牌过快过期。事实上,我只是在占用时间填写表单,一旦我提交表单,就会得到TokenMismatchExceptionexception 我试着在谷歌上搜索这个问题,在git上找到了一些类似的问题,甚至在Laracast上尝试了类似的问题,但都没有成功 My.env文件有如下几行: CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync 这是我登录的po
TokenMismatchException
exception
我试着在谷歌上搜索这个问题,在git上找到了一些类似的问题,甚至在Laracast上尝试了类似的问题,但都没有成功
My.env文件有如下几行:
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
这是我登录的post方法:
public function postLogin(CookieJar $cookieJar, Request $request)
{
$this->validate($request, [
'email1' => 'required|email',
'password' => 'required|string'
]);
if($user = User::whereEmail($request->email1)->first() ) {
if(Hash::check($request['password'], $user->getAttributes()['password'])) {
if(!$user->getAttributes()['is_active']) {
return redirect('/login')->withErrors('Your Account is not Activated Yet!');
} else if($user->getAttributes()['is_deleted']) {
return redirect('/login')->withErrors('Your Account is Banned!');
} else {
# Success
$cookie = Cookie::make('user_id', $user->getAttributes()['id'], 864000);
return redirect('/')->with('message', 'You have Successfully Logged In!')->withCookie($cookie);
}
} else {
return redirect('/login')->withErrors('Your Login Information is Wrong!');
}
} else {
return redirect('/login')->withErrors('Your Login Information is Wrong!');
}
}
请帮帮我
添加了.env文件内容和postLogin方法。您的环境中可能存在会话未保存的问题。php artisan缓存:清除或手动清除并重置存储/框架/会话/会话中的特权(如果会话保存到文件中)
我假设您已经使用csrf_token()或提供它的东西将令牌正确地添加到表单中 您的环境中可能存在会话未保存的问题。php artisan缓存:清除或手动清除并重置存储/框架/会话/会话中的特权(如果会话保存到文件中)
我假设您已经使用csrf_token()或提供它的东西将令牌正确地添加到表单中 是的,我已将csrf_token()添加到我的every POST方法表单中。我已更新问题的内容。请检查这是否有助于您更好地跟踪问题。存储路径上的权限可能是您的问题。确保您的web服务在存储中的所有文件夹中都具有完全的写入和读取权限/是,我已将csrf_token()添加到我的every POST方法表单中。我已更新了问题的内容。请检查这是否有助于您更好地跟踪问题。存储路径上的权限可能是一个问题。确保您的web服务在存储中的所有文件夹中具有完全的写入和读取权限/您没有使用Laravel
Auth
功能来处理登录验证等任何原因?登录代码是其他人的代码。我发现的一个黑客是当我从.env文件中删除会话\u DRIVER=file行时,它工作正常。这不是黑客。Laravel只是简单地恢复到默认会话驱动程序。是的,我的意思是这与此相关吗?您为什么不使用LaravelAuth
功能来处理登录验证,等等?登录代码是其他人的代码。我发现的一个黑客行为是当我从.env文件中删除SESSION\u DRIVER=file行时,它工作正常。这不是黑客行为。Laravel只是简单地恢复到默认会话驱动程序。是的,我的意思是这与此相关吗?