Aktueller Standort: Startseite> Neueste Artikel> Laravel 5.5 Drei Möglichkeiten, um den CSRF -Token -Schutz auszuschalten

Laravel 5.5 Drei Möglichkeiten, um den CSRF -Token -Schutz auszuschalten

gitbox 2025-07-07

Drei Möglichkeiten, um den CSRF -Token -Schutz auszuschalten

Schalten Sie den CSRF -Schutz basierend auf Token aus

Vor Laravel 5.5 hat Laravel standardmäßig einen CSRF-Schutz für Token-basierte CSRF-Schutz ermöglicht, um die Sicherheit der Anwendungen zu gewährleisten. In einigen Entwicklungsszenarien muss dieser Schutz jedoch möglicherweise ausgeschaltet werden, um zusätzliche Komplexität zu vermeiden. Sie können dies tun, indem Sie die Datei kernel.php ändern:

Öffnen Sie zunächst die App \ http \ kernel.php -Datei, finden Sie das Web -Konfigurationsarray in der Eigenschaft $ MiddlewareGroups und fügen Sie den folgenden Code hinzu:

 
protected $middlewareGroups = [
    'web' => [
        // ...
        App\Http\Middleware\VerifyCsrfToken::class => function ($request, $next) {
            return $next($request);
        },
    ],
];

Durch die Definition der VerifyCSRFToken :: Class Middleware als anonyme Funktion schalten Sie den tokenbasierten CSRF-Schutz erfolgreich aus.

Schalten Sie den CSRF -Schutz auf Routing -Ebene aus

Wenn Sie nur den CSRF -Schutz auf bestimmten Routen deaktivieren möchten, bietet Laravel die Methode csrf_exempt , mit der Sie den CSRF -Schutz in Ihrer Routendefinition separat deaktivieren können. Zum Beispiel:

 
Route::post('/api/posts', [
    'middleware' => 'auth.basic',
    'uses' => 'PostController@store',
])->csrf_exempt();

Mit dieser Methode können Sie den CSRF -Schutz auf der angegebenen Route deaktivieren.

Schalten Sie CSRF -Schutzkomponenten aus

Schließlich können Sie auch die gesamte CSRF -Schutzkomponente schließen, indem Sie die Datei verifyCsrftoken.php ändern. Die Datei befindet sich im Verzeichnis der App \ http \ Middleware . Öffnen Sie die Datei und kommentieren Sie den Code in seiner Handelsmethode :

 
class VerifyCsrfToken extends Middleware
{
    protected $except = [];

    public function handle($request, Closure $next)
    {
        // return parent::handle($request, $next);
        return $next($request);
    }
}

Sie können die gesamte CSRF -Guard -Komponente schließen, indem Sie Eltern :: Handle ($ request, $ als nächstes) ausgeben.

Zusammenfassen

Obwohl das Ausschalten des CSRF -Schutzes einige Entwicklungsprobleme lösen kann, kann er auch Sicherheitsrisiken darstellen. Bei der Schließung ist darauf zu achten, dass Sie andere Sicherheitsmaßnahmen ergriffen oder einfach in der Entwicklungsumgebung geschlossen werden. Sicheret den Code, oder wählen Sie eine andere sicherere Lösung.