Laravel怎么关闭CSRF验证_Laravel特定路由跳过CSRF保护
发布时间 - 2026-01-04 00:00:00 点击率:次答案:在 Laravel 中跳过 CSRF 验证的方法包括:1. 在 VerifyCsrfToken 中的 $except 添加路径,如 '/api/*';2. 将路由定义在 api.php 使用 API 中间件组;3. 通过 withoutMiddleware 移除特定路由的 CSRF 验证,但不推荐全局关闭。
在 Laravel 中,CSRF(跨站请求伪造)保护默认是开启的,通过中间件 VerifyCsrfToken 实现。但有时我们需要为某些路由关闭或跳过 CSRF 验证,比如开发 API 接口、接收第三方回调等场景。
方法一:将路由添加到 CSRF 白名单(推荐)
最安全的方式是保留大部分路由的 CSRF 保护,仅对特定路由或 URL 路径跳过验证。
打开文件:app/Http/Middleware/VerifyCsrfToken.php
在 $except 数组中添加需要跳过验证的路由路径:
protected $except = ['/api/*',
'/webhook/paypal',
'/admin/payment/callback'
];
注意:这里的路径是相对于域名的 URI,不包含域名本身。支持通配符 *。
方法二:使用 API 中间件组(适用于 API 路由)
Laravel 默认的 API 路由不会启用 CSRF 保护,因为它们使用的是 api 中间件组,而不是 web 中间件组。
确保你的路由定义在 routes/api.php 文件中:
Route::post('/callback', [PaymentController::class, 'callback']);这类路由自动跳过 CSRF 验证,适合无状态的 API 请求。
方法三:自定义中间件或移除 CSRF 中间件(不推荐全局关闭)
不建议直接移除或关闭整个应用的 CSRF 保护,这会带来安全风险。
如果你确实需要为一组特殊路由完全关闭,可以创建一个不包含 CSRF 的中间件组,或者为这些路由单独指定中间件。
例如,在 r
outes/web.php 中指定某个路由不使用 CSRF:
注意事项
- 表单提交(尤其是 web 表单)应始终保留 CSRF 保护,防止恶意请求。
- API 接口建议使用 Token 认证(如 Sanctum、Passport),而非依赖 CSRF。
- 测试环境中关闭 CSRF 时,也要确保上线前恢复配置。
基本上就这些。根据实际需求选择合适的方式,优先使用白名单机制,既灵活又安全。
# laravel
# php
# app
# 路由
# 表单提交
# 中间件
# csrf
# Token
# 接口
# class
# public
# protected
# http
# 跳过
# 移除
# 表单
# 不包含
# 的是
# 如果你
# 尤其是
# 也要
# 适用于
# 这类
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
教你用AI将一段旋律扩展成一首完整的曲子
如何用免费手机建站系统零基础打造专业网站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何获取免费开源的自助建站系统源码?
如何快速搭建虚拟主机网站?新手必看指南
EditPlus 正则表达式 实战(3)
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何确保西部建站助手FTP传输的安全性?
JS去除重复并统计数量的实现方法
如何用景安虚拟主机手机版绑定域名建站?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何快速打造个性化非模板自助建站?
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
如何在企业微信快速生成手机电脑官网?
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
JS经典正则表达式笔试题汇总
原生JS获取元素集合的子元素宽度实例
Laravel如何使用Sanctum进行API认证?(SPA实战)
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何彻底卸载建站之星软件?
JavaScript实现Fly Bird小游戏
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
黑客如何通过漏洞一步步攻陷网站服务器?
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel观察者模式如何使用_Laravel Model Observer配置
个人网站制作流程图片大全,个人网站如何注销?
如何在Windows环境下新建FTP站点并设置权限?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
实例解析Array和String方法
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
青岛网站建设如何选择本地服务器?
高防服务器租用首荐平台,企业级优惠套餐快速部署
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
创业网站制作流程,创业网站可靠吗?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
微信h5制作网站有哪些,免费微信H5页面制作工具?
EditPlus中的正则表达式 实战(4)
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel如何与Pusher实现实时通信?(WebSocket示例)
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
教你用AI润色文章,让你的文字表达更专业
如何用JavaScript实现文本编辑器_光标和选区怎么处理

