当前位置: 首页 > news >正文

CSRF保护--laravel进阶篇

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

        根据laravel官方解释,web.php下的路由对于POSTPUTPATCH 或 DELETE 请求都默认采取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 进行认证

        一旦配置$middleware->statefulApi();,不仅仅是想启用CSRF检查的路由会执行CSRF检查,api.php下面的所有路由对于来自SPA的post请求都会进行CSRF检查。而如果使用Apipost等工具进行post请求还是不会进行CSRF检查

        在Dashboard.vue下编写axios请求

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

        核对请求地址

        核对请求参数

        查看响应结果


http://www.mrgr.cn/news/77801.html

相关文章:

  • 计算机网络之---物理层的基本概念
  • vscode支持ssh远程开发
  • Flutter:使用FVM安装多个Flutter SDK 版本和使用教程
  • Lambda expressions in C++ (C++ 中的 lambda 表达式)
  • 【MySQL】第三章 库的操作
  • springboot+vue使用easyExcel实现导出功能
  • 【大数据学习 | Spark-Core】spark-shell开发
  • 《线性代数的本质》
  • 【计算机网络】网段划分
  • C#语言入门
  • 《Shader 入门精要》学习笔记 茵蒂克丝
  • 用python将一个扫描pdf文件改成二值图片组成的pdf文件
  • [模版总结] - 树的基本算法4 -最近公共祖先 LCA
  • 【大数据学习 | Spark-Core】yarn-client与yarn-cluster的区别
  • 浦语提示词工程实践(LangGPT版,服务器上部署internlm2-chat-1_8b,踩坑很多才完成的详细教程,)
  • 复习!!!
  • Spring |(二)IoC相关内容 | bean
  • Long noncoding RNAs and humandisease
  • 微服务即时通讯系统的实现(服务端)----(1)
  • 计算机视觉 1-8章 (硕士)
  • 动态内存管理
  • leetcode:112. 路径总和
  • AI+若依框架项目
  • el-tree 使用笔记
  • 【强化学习+组合优化】SAC + PointerNetwork 解决TSP问题
  • 常用数据结构详解