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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
编译问题
Oct 09 PHP
php 无极分类(递归)实现代码
Jan 05 PHP
php的字符串用法小结
Jun 08 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
详解PHP数组赋值方法
Nov 07 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
php常用图片处理类
Mar 16 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 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 HandlerSocket的使用
2011/05/02 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
Python合并字符串的3种方法
2015/05/21 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
楼面经理岗位职责范本
2014/02/18 职场文书
出纳担保书范文
2014/04/02 职场文书
物流管理专业求职信
2014/05/29 职场文书
道路施工安全责任书
2014/07/24 职场文书
2014年转正工作总结
2014/11/08 职场文书
初中成绩单评语
2014/12/29 职场文书
乐山大佛导游词
2015/02/02 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers