Как отключить токен 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,