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注入实例
Oct 09 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
smarty的section嵌套循环用法示例
May 28 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP基于array_unique实现二维数组去重
Jul 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
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
理解javascript回调函数
2014/12/28 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
2015/11/09 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python连接字符串的方法小结
2015/07/13 Python
Python线性回归实战分析
2018/02/01 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Pytorch 实现权重初始化
2019/12/31 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
交通志愿者活动总结
2014/06/27 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
公司借条范本
2015/05/25 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
初中语文教师研修日志
2015/11/13 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers
JavaScript实现音乐播放器
2022/08/14 Javascript