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
建立动态的WML站点(二)
Oct 09 PHP
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
mayfish 数据入库验证代码
Apr 30 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
php下Memcached入门实例解析
Jan 05 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
laravel学习教程之存取器
Jul 30 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 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 addslashes和mysql_real_escape_string
2010/01/24 PHP
php连接数据库代码应用分析
2011/05/29 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
详解python之多进程和进程池(Processing库)
2017/06/09 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Python input函数使用实例解析
2019/11/22 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
医药工作岗位求职信分享
2013/12/31 职场文书
基层工作经历证明
2014/01/13 职场文书
《只有一个地球》教学反思
2014/02/14 职场文书
消防安全员岗位职责
2014/03/10 职场文书
党员岗位承诺书
2014/03/25 职场文书
个人存款证明书
2014/10/18 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
针对吵架老公保证书
2015/05/08 职场文书
2016党校培训心得体会
2016/01/07 职场文书
七年级思品教学反思
2016/02/20 职场文书