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 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
COM in PHP (winows only)
Oct 09 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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运行模式的深入理解
2013/06/03 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python下载的库包存放路径
2020/07/27 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
体育专业个人求职信范文
2013/12/27 职场文书
酒店开业策划方案
2014/06/02 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
运动会致辞稿
2015/07/29 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
文书工作总结(范文)
2019/07/11 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android