laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:

laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:

大家好,又见面了,我是你们的朋友全栈君。

csrf防护:

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

csrf详解

解决方式:
(1)csrf防护只有在web.php文件中有效。如果你只是添加路由,可以新建一个路由文件。
(2)找到php/Http/Middleware/VerifyCsrfToken.php例子如下:

class VerifyCsrfToken extends BaseVerifier
{ 
   
    /** * The URIs that should be excluded from CSRF verification. * CSRF【Cross-site request forgery跨站请求伪造】验证时,应排除的URI地址块,形如:'test/login'、'test/*' * @var array */
    protected $except = [
        'test/*',
    ];
}

(3)在post方式提交表单的时候,加上laravel自带的全局帮助函数csrf_token。

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

(4)如果进行ajax的post请求的时候并没有提交form,表单,此时我们可以通过在meta中写入一些属性来金星csrf防护。

<head>
    <title>Laravel</title>
    <meta name="csrf-token" content="{ 
   { csrf_token() }}">

</head>

 $.ajax({ 
   
        headers: { 
   
          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        url: "{ 
   {url('/')}}",
        type: "post",
        dataType: "json",
 });

(5)解除csrf防护
找到php/Http/Middleware/VerifyCsrfToken.php例子如下:

public function handle($request, Closure $next)
  {
    // 使用CSRF
    return parent::handle($request, $next);
    // 禁用CSRF
    //return $next($request);
  }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105888.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 小米手机如何root权限获取_小米8root权限获取

    小米手机如何root权限获取_小米8root权限获取小米系统通过什么方法拥有root超级权限?我们都清楚,安卓机器有root超级权限,如果手机拥有root相关权限,能够实现更好的功能,打个比方我们企业的营销部门的同事,使用大多数营销应用都需要在root

  • 监控RuntimeException「建议收藏」

    监控RuntimeException「建议收藏」在线程提前终止的最主要原因就是RuntimeException,由于这些异常表示出现了某种编程错误或者其他不可修复的错误,因此它们通常不会被捕获。它们不会在调用栈中逐层传递,而是默认地在控制台中输出栈追踪信息,并终止线程我们可以通过实现java.lang.Thread.UncaughtExceptionHandler接口来获取RuntimeException异常的信息。

  • 数据挖掘项目总结文档模板_数据挖掘实训心得

    数据挖掘项目总结文档模板_数据挖掘实训心得数据挖掘项目总结文档1、文档概述1.1编写目的记录本次实验思路及流程,备忘用。1.2适用对象个人学习总结,描述有偏差之处陆续更进。2、业务理解与分析定义2.1需求概述针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。1998年美国国防

  • docker下载安装教程_centos一键安装docker

    docker下载安装教程_centos一键安装docker前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

  • visual 常用快快捷键

    visual 常用快快捷键

  • Google云盘的使用「建议收藏」

    Google云盘的使用「建议收藏」GoogleColab简介(参考链接)GoogleColaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究。这款工具现在可以免费使用,但是不是永久免费暂时还不确定。Goog

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号