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

Laravel 10服务端渲染应用:跨设备CSRF Token验证失败求助

解决Laravel Blade应用安卓浏览器419 CSRF Token不匹配问题
  • 确认表单CSRF字段正确渲染
    登录表单里必须包含@csrfBlade指令(或手动写<input type="hidden" name="_token" value="{{ csrf_token() }}">),打开浏览器开发者工具查看渲染后的HTML,确认这个隐藏字段存在且值有效。部分安卓浏览器会缓存旧页面,导致token过期,可长按刷新按钮选择「强制刷新」后重试。

  • 调整Session Cookie配置
    打开config/session.php,除了secure设置,重点检查:

    • 'same_site':如果是本地IP访问,设为'lax'或'none'(适配部分浏览器跨域限制);
    • 'domain':本地测试用IP访问时,设为null或你的设备IP,确保Cookie能被正确识别;
    • 'path':保持为'/',确保全站可读取Session Cookie。
  • 清除安卓浏览器缓存与Cookie
    直接在安卓浏览器的设置中,清除所有缓存、Cookie及站点数据,重启浏览器后再测试登录。

  • 检查Session存储目录权限
    若使用file作为Session驱动,确保storage/framework/sessions目录有读写权限,执行命令:

    chmod -R 755 storage/
    

    权限不足会导致Session无法正常写入,进而引发Token不匹配。

  • 同步服务器与设备时间
    服务器与安卓设备的时间差过大,会导致Session Cookie过期时间判断异常,引发Token失效。将两者时间同步到同一时区(如UTC或本地时区)。

  • 验证CSRF中间件配置
    检查app/Http/Middleware/VerifyCsrfToken.php,确保登录路由没有被误加入$except数组(登录路由必须验证CSRF),同时确认该中间件已注册到web中间件组中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 04:57:43