Laravel框架中,Post请求返回419或者500,因为默认有csrf验证

解决:打开文件:app\Http\Middleware\VerifyCsrfToken.php

  1. 全部关闭

use Closure;

class VerifyCsrfToken extends Middleware

{

    /**

     * The URIs that should be excluded from CSRF verification.

     *

     * @var array

     */

    protected $except = [

        //

    ];

 

    /**

     * Handle an incoming request.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  \Closure  $next

     * @return mixed

     */

    public function handle($request, Closure $next)

    {

        // Add this:

        if($request->method() == 'POST')

        {

            return $next($request);

        }

 

        if ($request->method() == 'GET' || $this->tokensMatch($request))

        {

            return $next($request);

        }

        throw new TokenMismatchException;

    }

 

}

2. 部分关闭

class VerifyCsrfToken extends Middleware

{

    /**

     * The URIs that should be excluded from CSRF verification.

     *

     * @var array

     */

    protected $except = [

        'v1/*'

    ];

}

这样,post请求http://test.com/v1/***的接口都可以不用csrf验证

你可能感兴趣的:(PHP)