gpt4 book ai didi

php - 如何在laravel中使用特殊消息管理特殊错误

转载 作者:行者123 更新时间:2023-12-03 08:05:13 25 4
gpt4 key购买 nike

我正在使用laravel 5.4。我需要处理一些错误。
想象用户登录并打开两个窗口(他的个人资料)。当用户单击一个窗口中的注销时,我们仍然在另一个窗口中具有注销按钮,通过单击该按钮,laravel将显示csrf_token错误页面。

我的登录不是ajax,而是向/logout提交了表单
我如何处理带有特殊消息的错误或重定向到主页而没有注销 Controller 的错误? (并非所有csrf_token错误,仅来自该 Controller )。

登出表格:

我将使用jquery单击注销按钮来提交此表单:

<form id="logout-form" action="/logout" method="POST" style="display: none;">
<input type="hidden" name="_token" :value="token">
</form>

以及 Controller 中的注销方法:
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
return redirect('/');
}

最佳答案

App \ Exceptions \ Handler.php中
使用新的有效 CSRF token 将用户返回到表单,因此页面将刷新,并且注销按钮将不存在。

public function render($request, Exception $exception)
{
if($exception instanceof TokenMismatchException)
{
return redirect()
->back()
->with('your msg');
}
return parent::render($request, $exception);
}

该页面看起来像刷新了

Don't Replace POST with Get. It will not Safe And Standard.

关于php - 如何在laravel中使用特殊消息管理特殊错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45362051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com