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

Laravel 11.3如何为特定地址/页面禁用CSRF防护?

Laravel 11.3 特定路由禁用CSRF防护的正确方案

针对你遇到的Issabel事件推送返回HTTP 419错误的问题,Laravel 11的CSRF配置逻辑和旧版本有差异,以下是正确的解决步骤:

1. 正确的CSRF排除配置

在bootstrap/app.php中,使用validateCsrfTokens方法指定需要排除的相对URI路径(注意不能使用完整HTTP URL),示例代码如下:

->withMiddleware(function (Middleware $middleware) {
    $middleware->validateCsrfTokens(except: [
        'missedcalls',          // 匹配/missedcalls路径
        'missedcalls/*',        // 匹配/missedcalls下的所有子路径(如果需要)
    ]);
})

2. 关键注意事项

  • 路径匹配规则:Laravel仅识别相对URI,不要填写如http://192.168.10.29/*这类完整URL,否则无法生效。
  • 确认请求路径:查看Laravel日志(storage/logs/laravel.log),确认Issabel发送请求的实际URI,确保配置的路径和实际请求路径完全一致(包括是否带有前缀,如/api/missedcalls)。

3. 配置生效验证

修改配置后,执行以下命令清除缓存,确保配置生效:

php artisan config:clear
php artisan cache:clear

为什么之前的配置无效?

  • withoutCsrf()方法在Laravel 11中已被移除,因此调用该方法会触发致命错误。
  • 你之前使用的完整URL不在Laravel CSRF排除的识别范围内,导致规则不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:22:40