laravel框架中表单请求类型和CSRF防护实例分析


Posted in PHP onNovember 23, 2019

本文实例讲述了laravel框架中表单请求类型和CSRF防护。分享给大家供大家参考,具体如下:

laravel中为我们提供了绑定不同http请求类型的函数。

Route::get('/test', function () {});
Route::post('/test', function () {});
Route::put('/test', function () {});
Route::patch('/test', function () {});
Route::delete('/test', function () {});
Route::options('/test', function () {});

但有些时候,我们通过创建资源控制器,里面的 update() 方法绑定的是 PUT 类型的http请求。

这就需要我们通过表单提交模拟PUT请求。我们可以自已添加一个 _method 的隐藏字段,值为 PUT。

<form action="{{ route('test') }}" method="post">
  <input type="hidden" name="_method" value="PUT">
  用户名:<input type="text" name="name">
  密码:<input type="password" name="pwd">
  <input type="submit" value="提交">
</form>

也可以使用laravel为我们提供的 method_field() 方法。

<form action="{{ route('test') }}" method="post">
  {{ method_field('PUT') }}
  用户名:<input type="text" name="name">
  密码:<input type="password" name="pwd">
  <input type="submit" value="提交">
</form>

laravel默认会对每个提交请求,进行csrf令牌的验证。为了通过验证,需要在表单中添加 _token 隐藏字段。

<form action="{{ route('test') }}" method="post">
  <input type="hidden" name="_token" value="{{ csrf_token() }}">
  用户名:<input type="text" name="name">
  密码:<input type="password" name="pwd">
  <input type="submit" value="提交">
</form>

或者使用 csrf_field() 方法。

<form action="{{ route('test') }}" method="post">
  {{ csrf_field() }}
  用户名:<input type="text" name="name">
  密码:<input type="password" name="pwd">
  <input type="submit" value="提交">
</form>

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP读取XML值的代码(推荐)
Jan 01 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
解析strtr函数的效率问题
Jun 26 PHP
浅谈discuz密码加密的方式
May 22 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
php判断表是否存在的方法
Jun 18 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
Aug 03 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 #PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 #PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 #PHP
laravel框架创建授权策略实例分析
Nov 22 #PHP
laravel框架语言包拓展实现方法分析
Nov 22 #PHP
laravel框架邮箱认证实现方法详解
Nov 22 #PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 #PHP
You might like
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
js 判断 enter 事件
2009/02/12 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
python根据出生日期返回年龄的方法
2015/03/26 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Python坐标线性插值应用实现
2019/11/13 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
什么是servlet
2012/05/08 面试题
装潢设计专业推荐信模板
2013/11/26 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
小学优秀班主任材料
2014/12/17 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
社区义诊通知
2015/04/24 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书