码迷,mamicode.com
首页 > 其他好文 > 详细

laravel 博客

时间:2018-08-10 21:31:43      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:pac   put   war   提交   key   站点   ati   9.png   pos   

使用laravel框架,经常会出现以下问题

技术分享图片

 

目前(我这里)三种laravel框架csrf认证的解决方法

1、在提交页面中,将token字段加到meta中,如下

<meta name="csrf-token" content="{{csrf_token()}}">

2、在提交表单是表明csrf字段

   <form> {{csrf_field()}}  </form>  
或者 :
<input type="hidden" name="_token" value="{{ csrf_token() }}" />

  有时候需要使用ajax向后台传递数据,可使用以下方法

 $.post(
          "{{url(‘admin/index‘)}}/"+id,
             {‘_method‘:‘delete‘,
               ‘_token‘ :‘{{csrf_token()}}‘
               },
           function(data){
                if(data.status == 0){
                    window.location.reload();
                    layer.msg(data.msg, {icon: 1});
                 }else{
                     layer.msg(data.msg, {icon: 5});
            }
                    
        });

3、直接中间件中加入不需要验证的路由,如下

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        ‘index’
    ];
}

通过这种方法,再次从index提交表单,不进行csrf验证,laravel提供的额csrf验证是一种保护机制,尽量不要关闭。

 

简单介绍一下csrf:取自于(百度百科)

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

 

laravel 博客

标签:pac   put   war   提交   key   站点   ati   9.png   pos   

原文地址:https://www.cnblogs.com/yaradish/p/9457046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!