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初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP 设置MySQL连接字符集的方法
Jan 02 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
服务器上配置PHP运行环境教程
Feb 12 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
php中简单的对称加密算法实现
Jan 05 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
Laravel 前端资源配置教程
Oct 18 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
PHP insert语法详解
2008/06/07 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php如何连接sql server
2015/10/16 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
python 读写、创建 文件的方法(必看)
2016/09/12 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
购买一个高级域名:BuyDomains
2018/03/11 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
线程同步的方法
2016/11/23 面试题
J2EE包括哪些技术
2016/11/25 面试题
乡镇交通安全实施方案
2014/03/29 职场文书
机关出纳岗位职责
2014/04/03 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
说明书怎么写
2014/05/06 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书