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 var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
php表单处理操作
Nov 16 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
一个简单计数器的源代码
2006/10/09 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
vue中appear的用法
2017/08/17 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
python解析xml模块封装代码
2014/02/07 Python
python连接数据库的方法
2017/10/19 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
Python装饰器用法实例分析
2019/01/14 Python
Python画图高斯分布的示例
2019/07/10 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
园林技术个人的自我评价
2014/01/08 职场文书
招聘专员岗位职责
2014/03/07 职场文书
工地安全质量标语
2014/06/07 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
环保建议书作文300字
2015/09/14 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python