namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* Indicates whether the XSRF-TOKEN cookie should be set on the response.
*
* @var bool
*/
protected $addHttpCookie = true;
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/user/my_function'
];
}
<?php
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 = [
//
];
}
8条答案
按热度按时间du7egjpx1#
您可以通过编辑在一些路由上禁用CSRF。
并在protected中添加自己的路由名称
这似乎不是一个好的做法,因为这样做我们正在删除Laravel的安全功能。
2lpgd9682#
在laravel 9.打开文件
\App\Http\Middleware\VerifyCsrfToken.php
禁用所有路由
禁用某些路由
我搜索了很长一段时间,如何禁用CSRF完全,有许多相同的例子,但他们没有帮助
elcex8rz3#
许多人解释了如何做到这一点,但他们没有解释url应该是什么样子。
edit app/Http/Middleware/VerifyCsrfToken.php
在$except array()中;我们只添加一个简单字符串的URL。这指向一个控制器通常取决于你的路线是如何设置的。
例如,我在Controller文件夹中有一个UserController.php文件。我有一条路像。在web.php routes文件中。
另外,如果你来这个问题只是因为你不知道如何使用CSRF,你实际上不需要禁用它,或使URL除了。你可以使用这个方法。
如果app.blade.php用于 AJAX 相关的调用,请将这些行添加到app.blade.php。
f1tvaqid4#
您可以在
web
中间件组的app/http/Kernel.php
中禁用它。不不是的阅读Wikipedia page about CSRF以了解什么是CSRF,CSRF-Token阻止CSRF。
6vl6ewon5#
CSRF令牌保护您的应用程序及其用户免受跨站点请求伪造的影响。有关更多信息,请阅读here。
令牌通过Laravel中的中间件进行验证。如果你看一下
app/Http/Middleware/VerifyCsrfToken.php
文件,你会发现它为你提供了添加URL的选项,这些URL应该免于CSRF验证。如果要完全禁用它,可以将其从
app/Http/Kernel.php
中名为web
的中间件组中删除。这些是默认情况下通过HTTP请求触发的中间件。我不建议在可能的情况下禁用它。
zz2j4svz6#
你好,只是去app/Http/Kernel.php文件只是注解了第31行
pw9qyyiw7#
如果您想阻止csrf令牌验证,请轻松前往
app/Middleware/VerifyCsrfToken.php
,对所有路由protected $except = ['*'];
禁用它,或者像下面这样指定路由dm7nw8vv8#
(临时修复。不推荐)
只需打开kernel.php(app/http)并禁用