CSRF保护--laravel进阶篇

laravel对csrf非常重视,专门针对csrf作出了很多的保护。如果您是刚刚接触laravel的路由不久,那么您可能对于web.php路由文件的post请求很疑惑,因为get请求很顺利,而post请求则可能会遭遇失败。其中一个失败的原因是由于laravel的csrf保护引起的。

根据laravel官方解释,web.php下的路由对于POSTPUTPATCHDELETE 请求都默认采取csrf保护。我这里给出3种情况的解决方案

一、让路由不接受CSRF检查。

二、使用Apipost等工具访问路由时检查CSRF

编写取出token的路由

用GET请求token并打印出来

最后在post请求种带上token就可以顺利访问post请求了

三、在blade模板中发起post请求检查CSRF

先创建2个路由,get路由负责创建blade模板,post路由就是最终的post请求

blade模板如下

在浏览器中展示blade模板

点击Submit按钮后展示

api.php下的路由默认是不采取CSRF检查

展示get请求

展示post请求

如果在api.php下想启用CSRF检查呢?其中一种方式可以采用单页面应用认证

创建路由

配置域基于 Laravel 会话 cookie 的"有状态"认证。

我这里配置为testlaravel.com域,大家根据各自情况配置各自的域。

指导 Laravel 来自您的 SPA 的传入请求可以使用 Laravel 的会话 cookie 进行认证

在Dashboard.vue下编写axios请求

在浏览器中测试前需要先行登录

核对请求地址

核对请求参数

查看响应结果

相关推荐
life码农2 天前
在 Laravel框架 Blade 模板中显示原始的 {{ }} 符号的几种方法
php·laravel
你说啥名字好呢6 天前
【Vue 渲染流程揭秘】
前端·javascript·vue.js·vue3·源码分析
行走的陀螺仪9 天前
vue3-封装权限按钮组件和自定义指令
前端·vue3·js·自定义指令·权限按钮
麦麦大数据9 天前
F046 新闻推荐可视化大数据系统vue3+flask+neo4j
python·flask·vue3·知识图谱·neo4j·推荐算法
Sheldon一蓑烟雨任平生10 天前
Vue3 高级性能优化
性能优化·vue3·tree-shaking·高级性能优化·首屏加载优化·更新优化·大型虚拟列表
JienDa10 天前
Laravel 11与UniApp实战:构建高性能电商API与移动端交互系统
laravel
前端.攻城狮10 天前
用fetch-event-source处理流式消息:Vue 3中实现openAI/DeepSeek的实时输出
vue3·流式消息
Sheldon一蓑烟雨任平生12 天前
webpack 从零构建 Vue3
webpack·typescript·vue3·webpack配置·从零构建vue3
saadiya~12 天前
基于 Vue3 封装大华 RTSP 回放视频组件(PlayerControl.js 实现)
前端·vue3·大华视频相机前端播放
catchadmin13 天前
用 LaraDumps 高效调试 PHP 和 Laravel
php·laravel