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下安装配置fckeditor编辑器的方法
Mar 02 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
php中取得文件的后缀名?
Feb 20 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
PHP7.0版本备注
Jul 23 PHP
php中使用GD库做验证码
Mar 31 PHP
使用php实现从身份证中提取生日
May 09 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php写入txt乱码的解决方法
Sep 17 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 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
AngularJS 事件发布机制
2018/08/28 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
js数组的基本使用总结
2021/01/18 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
使用Python函数进行模块化的实现
2019/11/15 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
中国文明网签名寄语
2014/01/18 职场文书
倡议书格式范文
2014/04/14 职场文书
学校校庆演讲稿
2014/05/22 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书