没有CSRF的MethodNotAllowedHttpException路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有CSRF的MethodNotAllowedHttpException路径相关的知识,希望对你有一定的参考价值。
我在laravel中传递了一个由JS中的函数调用的路径,我无法控制它,因为它是外部的,这条路径是一个post方法,因为我需要它就是这样,但它生成了一个MethodNotAllowedHttpException
,就像我做的那样排除此验证的某些路线。
注意:我已经尝试在VerifyCsrfToken
的异常向量中添加它,修改该类文件VerifyCsrfToken将中间件扩展到一个名为class VerifyCsrfToken extends BaseVerifier
的新文件及其所有依赖项,我也禁用了中间件中的验证,但它们都不适用于我
答案
来自the docs:
您应该将这些类型的路由放在
web
适用于RouteServiceProvider
文件中所有路由的routes/web.php
中间件组之外。但是,您也可以通过将其URI添加到$except
中间件的VerifyCsrfToken
属性来排除路由:
protected $except = [
'your/route/*',
];
另一答案
为此,您必须在protected $ except中添加路由的URI。例如,如果您的网址是www.example.com/full/route/
,则必须添加
protected $except = [
'/full/route/*',
];
好像你要添加路由名称而不是URI。
以上是关于没有CSRF的MethodNotAllowedHttpException路径的主要内容,如果未能解决你的问题,请参考以下文章
在没有表格的情况下获取 Codeigniter CSRF 令牌?