laravel csrf验证总结

admin3年前PHP教程110

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吧

到此这篇关于laravel csrf验证总结的文章就介绍到这了,更多相关laravel csrf验证内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

详解PHP Swoole与TCP三次握手

目录握手常见问题连接拒绝Operation now in progress丢包错误ipbacklogSYN Flood握手常见问题1、连接拒绝2、Operation now in progress 多...

spss数据分析(大数据如何分析数据)

spss数据分析SPSS数据剖析办法有许多,本文从描绘性剖析、问卷剖析、量化剖析、核算建模、差异性剖析这几个模块,用一句话简述各个剖析办法的效果以及分享事例示例描绘性剖析频数剖析:一组数据的不同数值的...

防火墙的作用体现在哪里?100G美国高防服务器如何防御网络攻击?

对于任何规模的企业来说,网络安全都是最紧迫的问题之一。主动防御是保护用户的业务数据和运营免受基于网络的攻击的唯一方法之一。监控网络流量以识别和阻止潜在威胁的防火墙应该是用户企业网络安全基础设施的基础。...

泰国服务器的优势有哪些

泰国服务器的优势有哪些?泰国服务器的优势如下:地理位置优越:泰国位于东南亚地区,紧邻中国和印度,距离日本和韩国也很近。这使得泰国服务器可以为周边国家、地区提供高质量的网络服务和可靠的连接。低廉的成本:...

在选择高防服务器提供商时需要注意哪些?100G国内高防服务器租用地址是多少?

越来越多人认为每个高防服务器都是相同的,可以提供出色的服务,但情况并非总是如此。这就是决定谁选择能够满足期看的高防服务器提供商的的原因。在选择服务器之前,请确保高防服务器提供商符合行业标准。那么在选择...

PHP 请求上下文相关总结

我们首先来了解下什么是上下文。在我们写文章,写句子时,都会考虑一个观点或者内容的前后逻辑,转承启合,而在这个观点前后的内容就可以看成是它的上下文内容。它包含了语境的意味在里面,其实代码世界中的上下文也...