laravel csrf验证总结
发布:smiling 来源: PHP粉丝网 添加日期:2022-04-18 10:46:21 浏览: 评论:0
这篇文章主要介绍了laravel csrf验证总结,csrf是laravel表单提交和ajax请求为了安全设置的机制,有感兴趣的同学可以深入学习下。
laravel csrf验证总结
前言问题:
laravel 在web路由下无论是表单提交啊 还是ajax请求啊 只要是请求方式不满足 ['HEAD', 'GET', 'OPTIONS']
就会报419错误,原因是其自带开启csrf验证,防止csrf攻击
感兴趣的可以看看这部分源码:Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
解决方式:
一.屏蔽csrf验证
部分屏蔽
- App\Http\Middleware\VerifyCsrfToken.php
- protected $except = [
- //这里添加屏蔽的路由地址
- ];
全部屏蔽
App\Http\Kernel.php
注释 \App\Http\Middleware\VerifyCsrfToken::class,
二.加入csrf验证参数
form提交
<input type="hidden" name="_token" value="{{csrf_token()}}">
ajax提交
- <meta name="_token" content="{{csrf_token()}}">
- $.ajax({
- url: "xxxx",
- type: "POST",
- data: data,
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
- },
- success: function (data) {}
- });
注意!!!
因为呢 laravel的token是存储在session里的,所以呢,我遇到了一个大坑,代码传到linux里后 csrf总报错???
最后debug发现 因为提交的token值与session里的不一致
(md 因为 storag2目录么权限 —>storage/framework/sessions 是存储session的目录)
开启777就ok了
最后总结一下排错顺序
1.检查表单有没有 csrf_token
2.linux 下storage有没有读写权限
3.检查session存储位置时候更换过(换过里面还是否有_token)
4.清除浏览器缓存,laravel缓存
最后没招 自己源码debug吧。
Tags: csrf laravel验证
- 上一篇:在swoole中制作一款仿制laravel的框架的实例代码
- 下一篇:最后一页
相关文章
- ·Yii2框架的csrf验证原理分析及token缓存解决方案(2020-04-05)
- ·laravel csrf排除路由,禁止,关闭指定路由的例子(2022-01-14)
- ·对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍(2022-01-17)
- ·Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)(2022-01-18)
- ·laravel框架中表单请求类型和CSRF防护实例分析(2022-01-23)
- ·Laravel5.3+框架定义API路径取消CSRF保护方法详解(2022-02-25)
- ·laravel 验证错误信息到 blade模板的方法(2021-12-24)
- ·基于Laravel 5.2 regex验证的正确写法(2021-12-24)
- ·Laravel 自带的Auth验证登录方法(2021-12-25)
- ·Laravel的Auth验证Token验证使用自定义Redis的例子(2021-12-25)
- ·laravel unique验证、确认密码confirmed验证以及密码修改验证的方法(2022-01-05)
- ·Laravel jwt 多表(多用户端)验证隔离的实现(2022-01-28)
- ·Laravel 验证码认证学习记录小结(2022-02-01)
- ·为你的 Laravel 验证器加上多验证场景的实现(2022-02-26)
- ·Laravel 修改验证异常的响应格式实例代码详解(2022-03-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)