當前我正在使用laravel項目如何處理laravel中的TokenMismatch異常5
而且我在頁面上看到此錯誤感到不適。
我不讓我的用戶看到這個異常,即使我已經注意到了這一點。
但預防勝於治療!
那麼有沒有什麼辦法可以在laravel中處理這個異常。
當前我正在使用laravel項目如何處理laravel中的TokenMismatch異常5
而且我在頁面上看到此錯誤感到不適。
我不讓我的用戶看到這個異常,即使我已經注意到了這一點。
但預防勝於治療!
那麼有沒有什麼辦法可以在laravel中處理這個異常。
在你Exception\Handler
類的render()
方法捕獲該異常通過
if ($e instanceof \Illuminate\Session\TokenMismatchException) {
// Your code
}
和渲染你的錯誤頁面,或做任何其他的東西與此異常。
來處理這個異常去your_laravel_folder /供應商/ compiled.php ,找到這個::
public function handle($request, Closure $next)
{
if ($this->isReading($request) || $this->tokensMatch($request)) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException();
}
和評論拋出新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();
}
如果你不需要的CSRF保護您可以在
應用程序禁用中間件/ HTTP/Kernel.php
如果以後你的應用環境設置爲生產,用戶不會看到反正錯誤信息。