大佬们,抱拳了!

可否讲一下,在不关闭laravel自带的csrf的情况下,解决H5 ajax调用laravel接口报错419的问题,跪谢:pray:

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 10

很久没有用 web 中间件了,但是之前依稀记得,只要请求 header 包含 X-CSRF-TOKEN 就可以了。

key: 'X-CSRF-TOKEN' val: csrf_token()

2年前 评论
<meta name="csrf-token" content="{{ csrf_token() }}" />
$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
2年前 评论
ncccc1 2年前

可以配置不开启csrf认证

2年前 评论

file

中间件不验证你那个路由

2年前 评论
Buffett-Cai

你用的不是API的路由吧,API这一组路由好像是没有csrf验证的(不记得是我关掉的还是默认就关掉的)

2年前 评论
laisxn

你可以看下源码 验证csrf的过程,对你受益更大,也懂前端怎么传参数就可以验证通过了

2年前 评论
porygonCN

csrf可以加白名单 跳过指定路由, 但是ajax应该请求api的路由才是吧 api路由是默认没有csrf验证的

file

2年前 评论

ajax请求的时候带上 '_token':'{{csrf_token()}}',最好还是用api路由吧

2年前 评论

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