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 相关文章推荐
isset和empty的区别
Jan 15 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
destoon官方标签大全
Jun 20 PHP
php实现的ping端口函数实例
Nov 12 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
round robin权重轮循算法php实现代码
May 28 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python导入时小括号大作用
2017/01/10 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
Python3中exp()函数用法分析
2019/02/19 Python
python实现微信自动回复机器人功能
2019/07/11 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python如何生成xml文件
2020/06/04 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
演讲稿的写法
2014/05/19 职场文书
优秀员工评优方案
2014/06/13 职场文书
项目申请汇报材料
2014/08/16 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
Python实现仓库管理系统
2022/05/30 Python
Echarts如何重新渲染实例详解
2022/05/30 Javascript