首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Laravel 4中禁用某些url的csrf标记

如何在Laravel 4中禁用某些url的csrf标记
EN

Stack Overflow用户
提问于 2017-03-01 14:08:58
回答 2查看 1K关注 0票数 0

问题在标题中:如何在Laravel 4中禁用CSRF令牌?

我知道在Laravel 5中,在中间件中使用变量$except很容易,但在Laravel 4中我找不到解决方案……

EN

回答 2

Stack Overflow用户

发布于 2017-03-01 14:14:10

一种方法是扩展VerifyCsrfToken,并在其中没有csrf的数组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Session\TokenMismatchException;

class VerifyCsrfToken extends \Illuminate\Foundation\Http\Middleware\VerifyCsrfToken {

    protected $except_urls = [
        'contact/create',
        'contact/update',
        ...
    ];

    public function handle($request, Closure $next)
    {
        $regex = '#' . implode('|', $this->except_urls) . '#';

        if ($this->isReading($request) || $this->tokensMatch($request) || preg_match($regex, $request->path()))
        {
            return $this->addCookieToResponse($request, $next($request));
        }

        throw new TokenMismatchException;
    }

}

并在内核中进行更改以指向新的中间件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
protected $middleware = [

    ...

    'App\Http\Middleware\VerifyCsrfToken',
];

您可以在那里找到更多详细信息:

https://laravel.com/docs/5.1/routing#csrf-protection

Laravel 5: POST whithout CSRF checking

票数 1
EN

Stack Overflow用户

发布于 2017-03-01 14:17:29

你可以通过修改VerifyCrsfToken.php类和提供$openRoutes来做到这一点,是的,当你接触基类时,你就是在玩火。:)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//app/Http/Middleware/VerifyCsrfToken.php

//add an array of Routes to skip CSRF check
private $openRoutes = ['free/route', 'free/too'];

//modify this function
public function handle($request, Closure $next)
    {
        //add this condition 
    foreach($this->openRoutes as $route) {

      if ($request->is($route)) {
        return $next($request);
      }
    }

    return parent::handle($request, $next);
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42533932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文