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

Laravel 10中发送Post请求到API路由出现403 Forbidden错误求助

Laravel API 403 Forbidden错误排查与解决

核心原因及解决方法

1. CSRF验证拦截(最常见)

Laravel的routes/web.php路由默认绑定web中间件组,其中包含VerifyCsrfToken中间件,会自动拦截所有未携带合法CSRF令牌的POST请求,返回403。如果你的用户路由定义在web.php里,哪怕没手动添加中间件,也会触发这个验证。

解决方式二选一:

  • 移到API路由文件:把这些路由剪切到routes/api.php中。api.php默认使用api中间件组,不包含CSRF验证逻辑,POST请求可以直接正常访问。
  • 添加CSRF例外:如果必须保留在web.php,打开app/Http/Middleware/VerifyCsrfToken.php,在$except数组里添加你的路由:
    protected $except = [
        '/api/users',
        '/api/users/update/password',
    ];
    

2. 路由前缀与请求地址不匹配

检查RouteServiceProvider中对api.php的前缀配置(默认是/api)。如果路由定义在api.php里,实际访问地址应为/api/users,确认Postman里的请求URL是否正确——部分服务器会把不存在的路由返回403而非404,路径拼写错误也可能触发该问题。

3. 服务器权限或配置问题(概率较低)

如果上述方法都无效,检查服务器的.htaccess文件是否配置正确,确保Laravel的路由规则能正常解析;同时确认项目目录的读写权限是否符合要求,避免因权限不足导致请求被拦截。


内容的提问来源于stack exchange,提问作者DJEBARRA RABAH ABDERRAZAK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:30:06