你们怎么定义CSRF中的错误提示的

用户的水平实在是太底了,直接英文显示,就认为是出错了,系统有问题了

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

以前版本的办法不行了,搞不明白Laravel为啥要修改异常管理

2年前 评论

刚瞄了下源码,可以试试我这个办法。
改一下中间件:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
use Illuminate\Session\TokenMismatchException;

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
    ];

    public function handle($request, Closure $next)
    {
        try {
            return parent::handle($request, $next);
        } catch (TokenMismatchException $e) {
            // 自己的逻辑
        }
    }
}
2年前 评论

@落叶满长安 有没有办法在异常的时候拦截

2年前 评论

我以前就是这样,也就是相当于定义异常的处理方式

2年前 评论
ㅤㅤ 2年前

Could not check compatibility between App\Http\Middleware\VerifyCsrfToken::handle($request, App\Http\Middleware\Closure $next) and Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::handle($request, Closure $next), because class App\Http\Middleware\Closure is not available

你这个方式会报这个错

2年前 评论
ㅤㅤ 2年前
深蓝色 (作者) (楼主) 2年前

你想换报错提示,捕获它的异常再重新抛出不就是最好的方式了吗?

2年前 评论

我两种办法都弄好了,也解决了在新版框架中处理异常的问题了

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!