Как отключить токен CSRF в Laravel и почему мы должны его отключить?
Я хочу посмотреть, как я могу отключить токен CSRF в Laravel и где я должен отключить его. Хорошо ли это отключить или нет?
Ответы
Ответ 1
Вы можете отключить CSRF на нескольких маршрутах путем редактирования.
App\Http\Middleware\VerifyCsrfToken
и добавьте название собственного маршрута в защищенном
$except = [] array.
Это не кажется хорошей практикой, поскольку, делая это, мы удаляем функцию безопасности Laravel.
Ответ 2
Вы можете отключить его в app/http/Kernel.php
в группе web
-Middleware.
Is this good to disable it or not?
Нет, это не так. Прочтите страницу Википедии о CSRF, чтобы понять, что такое CSRF, CSRF-Token предотвращает CSRF.
Ответ 3
Тонер CSRF защищает ваше приложение и пользователей от подделки подпроса. Для получения дополнительной информации об этом читайте здесь:
https://en.wikipedia.org/wiki/Cross-site_request_forgery
Токен проверяется через Middleware в Laravel. Если вы посмотрите на файл- app/Http/Middleware/VerifyCsrfToken.php
, вы увидите, что он дает вам возможность добавлять URL-адреса, которые должны быть исключены из проверки CSRF.
<?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 = [
//
];
}
Если вы хотите полностью отключить его, вы можете найти его в группе Middleware с именем web
в app/Http/Kernel.php
. Это те средние, которые по умолчанию запускаются по HTTP-запросам.
Я бы не рекомендовал отключать его, где это возможно.
Ответ 4
Привет, просто зайдите в файл app/Http/Kernel.php, просто прокомментировав строку № 31
// \App\Http\Middleware\VerifyCsrfToken::class,
Ответ 5
(Temporary fix. Not Recommended)
Просто откройте kernel.php(app/http)
и отключить
App\Http\Middleware\VerifyCsrfToken::class,