Php 在laravel 5.4中禁用某些路线的csrf toke?不起作用
我正在为我的网站制作一个API,API将用于获取、发布、删除一些数据,但要发布,需要csrf令牌,它无法从第三方网站生成,因此我必须禁用某些路由的csrf令牌。在文档中,它说要在verifycsrftoken.php中添加以下内容:Php 在laravel 5.4中禁用某些路线的csrf toke?不起作用,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我正在为我的网站制作一个API,API将用于获取、发布、删除一些数据,但要发布,需要csrf令牌,它无法从第三方网站生成,因此我必须禁用某些路由的csrf令牌。在文档中,它说要在verifycsrftoken.php中添加以下内容: protected $except = [ 'leads', 'leads/*' ]; 但这在laravel 5.4中不起作用。 以下是我的示例路线: Route::post('leads/{id}', ['as'=>'leads']);
protected $except = [
'leads',
'leads/*'
];
但这在laravel 5.4中不起作用。
以下是我的示例路线:
Route::post('leads/{id}', ['as'=>'leads']);
任何帮助都将不胜感激。您发布的代码应该可以工作 正如您在评论中所说,错误是MethodNotAllowedHttpException。当您尝试访问错误类型的url时,将在中引发该错误。为了通过POST发送表单,您需要在表单标签中注明
<form method="POST" action="{{ url('leads/'.$lead->id) }}>
这应该行得通。您仍然收到CSRF异常?它说“MethodNotAllowedHttpException”,这可能是POST/GET不匹配。你的表单标签看起来像什么?@Ahmadza这不是CSRF的问题。这是一个单独的问题。@ceejayoz这不是那个问题的重复,他们的上下文和我的完全不同…command app/Http/kernal.php in\app\Http\Middleware\VerifyCsrfToken::class无需使用csrf token抱歉,但我说我从第三方网站调用api,第三方网站无法为我的主网站生成csrf令牌,我通过ajax调用api。确保您是从POST而不是GET then调用api。解决了,我只是通过键入url来检查它是否工作,它不是,但使用ajax,它工作了…键入浏览器的url将通过GET执行请求。你可以用邮递员检查邮递路线。
{!! csrf_field() !!}