You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel8添加@csrf仍报419错误 关闭csrf后session不生效问题求助

问题根因

核心问题是路由未引入Laravel默认的web中间件组,导致session、csrf校验功能未正常初始化:Laravel的session持久化、csrf令牌校验逻辑全部封装在web中间件组中,缺失该配置会直接出现419页面过期、session刷新丢失的问题。

排查修复步骤

1. 补充web中间件配置

将所有路由嵌套到web中间件组下,调整路由代码如下:

<?php

use Illuminate\Support\Facades\Route;

// 外层加web中间件,确保session、csrf功能正常加载
Route::middleware('web')->prefix(LaravelLocalization::setLocale())->middleware(['localeSessionRedirect', 'localizationRedirect'])->group(function () {

    // 其他原有路由保持不变

    Route::group(['middleware'=>['CustomAuth']],function(){
        Route::get('/user-login',[App\Http\Controllers\UserController::class,'showLogin']);
        Route::get('/user-register',[App\Http\Controllers\UserController::class,'showRegister']);
        Route::get('/affiliate',[App\Http\Controllers\UserController::class,'showAffiliateDashboard']);
        Route::get('/affiliate/website-list',[App\Http\Controllers\UserController::class,'affiliate_website_list']);
        // 其余相似路由保持不变
    });

    // 提交表单路由、登出路由等保持不变
    Route::post('/check',[App\Http\Controllers\UserController::class,'checkLogin'])->name('checkLogin');
    Route::post('/user-register',[App\Http\Controllers\UserController::class,'createAccount'])->name('create_account');
    // 其余路由保持不变
});

2. 恢复CSRF校验配置

删掉VerifyCsrfToken.php中$except = ['*']的全局关闭配置,全局关闭csrf不仅有安全风险,还会干扰session初始化逻辑,仅需要排除第三方回调类的无需校验的路由即可。

3. 调整中间件执行顺序

打开app/Http/Kernel.php,确保自定义的CustomAuth中间件的执行顺序在StartSession中间件之后,避免session未初始化就读取登录状态导致逻辑错误:

  • 如果你是把CustomAuth加到$middlewareGroups的web数组里,就放在\Illuminate\Session\Middleware\StartSession::class的下一行
  • 如果是路由里单独指定中间件,就写成['middleware'=>['web', 'CustomAuth']]即可

4. 校验session配置

打开config/session.php检查:

  • path配置为'/',确保不同语言前缀的路由都能正常读取session cookie
  • domain配置为你的站点根域名,本地开发环境留空即可

5. 清除缓存生效

修改完成后执行以下命令清理缓存:

php artisan config:clear
php artisan route:clear
php artisan cache:clear

完成以上步骤后重新测试登录、刷新页面,419报错和session丢失问题即可解决。


内容的提问来源于stack exchange,提问作者Philip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:48:03