DragonWar% 2016-01-26 15:53 采纳率: 0%
浏览 38

对Ajax查询禁用CSRF

I'm using Laravel 5.1 and i'm tryin to disable csrf validation for this route to be able to perform some remote validations using Jquery Form Validator :

Route::post('verify', 'formController@check');

As mentioned in the documentation, I just have to add my URI to the $excludeproperty. whice I did :

namespace App\Http\Middleware;

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

class VerifyCsrfToken extends BaseVerifier
{
/**
 * The URIs that should be excluded from CSRF verification.
 *
 * @var array
 */
protected $except = [
    'verify',
];
}

That did not work, So I tried to disable csrf validation for the whole application :

class Kernel extends HttpKernel
{
protected $middleware = [
    ...
    //\App\Http\Middleware\VerifyCsrfToken::class,
];
protected $routeMiddleware = [
    ...
];
}

That did not work either. I keep getting this error on the console :

POST http://domain.name/verify 500 (Internal Server Error)

whice exactly points to this line(The validator's js file):

ajax({url:b,type:"POST",cache:!1,data:g,dataType:"json",error:function(a){return h({valid:!1,message:"Connection failed with status: "+a.statusText},f),!1}

What am I missing? thanks for your help.

  • 写回答

2条回答 默认 最新

  • 叼花硬汉 2016-01-26 17:58
    关注

    namespace App\Http\Middleware;

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

    class VerifyCsrfToken extends BaseVerifier {

    protected $except_urls = [
        'verify'
    ];
    
    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;
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀