为何post上传文件不需要csrf_token也可上传成功(没有加csrf白名单)

Laravel Framework 8.11.2

1. 运行环境

lnmp

1). 当前使用的 Laravel 版本?

Laravel Framework 8.11.2

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.3.26

3). 当前系统

CentOS

4). 业务环境

开发环境,单服务器架构

2. 问题描述?

在编辑器内post上传文件不需要提交csrf也可上传成功。
详细描述:在web表单页面使用第三方包packagist.org/packages/overtrue/la...的UE编辑器时,注释掉了csrf_token代码,F12观察network的http请求,确实没有带上csrf_token,但是确上传成功了

Laravel

Laravel

Laravel

Laravel

没有加该路由的csrf白名单
为何post上传文件不需要csrf_token也可上传成功(没有加csrf白名单)

3. 您期望得到的结果?

我期望在注释掉csrf时得到419响应

4. 您实际得到的结果?

http返回200,调试发现这个第三方包里注册的post路由没有经过csrf中间件,这是为什么?是laravel版本的原因吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 9

没有添加中间件是为了兼容吧。要加中间件,在app的路由里重新定义一个相同的带中间件的路由,覆盖掉旧的

1年前 评论
易水 (楼主) 1年前
deatil (作者) 1年前

cookie 里有

1年前 评论
易水 (楼主) 1年前

Uedit 文件上传路由默认没有使用 csrf 中间件

1年前 评论
易水 (楼主) 1年前

包里面注册路由的时候没有加中间件:源码

可以通过修改配置文件,添加相应的中间件:源码,在项目中定义一个 ueditor.php 配置文件,可以覆盖默认的配置

1年前 评论
易水 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!