在laravel5中提交curl表单期间csrf令牌不匹配
我正在尝试使用curl-post方法提交表单。我已将csrf令牌正确设置为表单。但在VerifyCsrfToken.php第46行中显示了令牌不匹配异常:。我被困在表单上并在web上搜索。但没有得到任何解决方案。csrf现在是在Laravel 5的App\Http\Kernel.php中全局注册的中间件。删除它将默认为无CSRF保护Laravel4行为。 注释掉或删除Kernel.php中的这一行 之前:在laravel5中提交curl表单期间csrf令牌不匹配,curl,laravel-5,csrf-protection,Curl,Laravel 5,Csrf Protection,我正在尝试使用curl-post方法提交表单。我已将csrf令牌正确设置为表单。但在VerifyCsrfToken.php第46行中显示了令牌不匹配异常:。我被困在表单上并在web上搜索。但没有得到任何解决方案。csrf现在是在Laravel 5的App\Http\Kernel.php中全局注册的中间件。删除它将默认为无CSRF保护Laravel4行为。 注释掉或删除Kernel.php中的这一行 之前: protected $middleware = [ 'Illuminate\Fou
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'App\Http\Middleware\VerifyCsrfToken',
];
之后:
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
// 'App\Http\Middleware\VerifyCsrfToken',
];
您的表单应该如下所示
@extends('layout.main')
@section('content')
<form action="{{URL::route('give-the-route')}}" method="post">
<input type="text" name="name" placeholder=" Title">
<textarea name="description" cols="45" rows="5"placeholder="Brief Description "></textarea>
<input name="_token" type="hidden" value="{{csrf_token()}}">
<input type="submit" value="Publish"><br>
</form>
@stop
我的意思是不要忘了写下面这行
<input name="_token" type="hidden" value="{{csrf_token()}}">
您需要在提交的curl表单中包含您的csrf令牌,或者您需要在该路径上禁用csrf保护……建议您这样做,但同时不提及采用这种方法所固有的安全风险,这是很危险的。CSRF保护的存在是有原因的,禁用它的人应该了解这样做的危险,或者至少被告知这样做有一定的危险。
@extends('layout.main')
@section('content')
<form action="{{URL::route('give-the-route')}}" method="post">
<input type="text" name="name" placeholder=" Title">
<textarea name="description" cols="45" rows="5"placeholder="Brief Description "></textarea>
<!-- dont forgot to use this -->
<input name="_token" type="hidden" value="{{csrf_token()}}">
<input type="submit" value="Publish">
</form>
@stop