Laravel 5.5 CSRF

CSRF

// CSRF(跨站请求伪造)是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞。

{{ csrf_field() }}

<input type="hidden" name="_token" value="{{ csrf_token() }}">

{{ method_field('PUT') }}

<input type="hidden" name="_method" value="PUT">

// 排除指定 URL 不做 CSRF 安全校验

    某些路由可能不需要经过csrf验证,例如,如果你使用了第三方支付系统(如支付宝或微信支付)来处理支付并用到他们提供的回调功能,这时候就需要从 Laravel 的 CSRF 保护中间件中排除回调处理器路由,因为第三方支付系统并不知道要传什么 token 值给我们定义的路由。取消的方法是在 app/Http/Middleware/VerifyCsrfToken 中的$except 添加这些路由

<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
     * 从 CSRF 验证中排除的 URL
     *
     * @var array
     */
    protected $except = [
        'alipay/*',
    ];
}

// X-CSRF-Token

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

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

猜你喜欢

转载自blog.csdn.net/qq_37910492/article/details/84543107