如何处理 laravel 5 中的令牌不匹配异常
How to handle TokenMismatch exception in laravel 5
目前我正在从事 laravel 项目
看到页面上的这个错误我很生气。
即使我已经注意了这一点,我的用户也看不到这个异常。
但预防胜于治疗!
那么在laravel.
中有什么方法可以处理这个异常吗?
要处理此异常,请转至 your_laravel_folder/vendor/compiled。php
并找到这个 ::
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException();
}
并评论抛出 new TokenMismatchException();做你想做的就是例子
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
abort(404);
//throw new TokenMismatchException();
}
在你的 Exception\Handler
class 的 render()
方法中通过
捕获这个异常
if ($e instanceof \Illuminate\Session\TokenMismatchException) {
// Your code
}
并呈现您的错误页面或执行此异常的任何其他操作。
如果您不需要 CSRF 保护,您可以在
中禁用中间件
app/Http/Kernel.php
如果稍后将应用程序环境设置为生产环境,用户将不会看到错误消息。
目前我正在从事 laravel 项目
看到页面上的这个错误我很生气。
即使我已经注意了这一点,我的用户也看不到这个异常。
但预防胜于治疗!
那么在laravel.
中有什么方法可以处理这个异常吗?要处理此异常,请转至 your_laravel_folder/vendor/compiled。php 并找到这个 ::
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException();
}
并评论抛出 new TokenMismatchException();做你想做的就是例子
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
abort(404);
//throw new TokenMismatchException();
}
在你的 Exception\Handler
class 的 render()
方法中通过
if ($e instanceof \Illuminate\Session\TokenMismatchException) {
// Your code
}
并呈现您的错误页面或执行此异常的任何其他操作。
如果您不需要 CSRF 保护,您可以在
中禁用中间件app/Http/Kernel.php
如果稍后将应用程序环境设置为生产环境,用户将不会看到错误消息。