Formularfälschung und CSRF-Schutz von Laravel
Wir wissen, dass die derzeit beliebteste API-Designspezifikation das restFul API-Design ist. Restful verfügt über fünf gängige HTTP-Methoden: get, post, put, patch und delete. Es ist sehr einfach, die Get- oder Post-Methode mithilfe des HTML-Formulars zu erstellen, die anderen drei Methoden werden jedoch nicht unterstützt. Aber in Laravel können Sie die anderen drei oben genannten Methoden durch Formularfälschungstechnologie verwenden.
Empfohlenes Tutorial: „Laravel-Framework“
Vorbereitungsarbeiten
Zunächst müssen wir die Vorbereitungsarbeiten durchführen. Wir müssen zwei Routen erstellen: eine Formularroute und eine Route, die Formulare akzeptiert.
// 表单页 Route::get('form', function () { return view('form'); }); // 接受表单请求 Route::any('getform', function () { return \Illuminate\Support\Facades\Request::method(); });
Zu Beginn haben wir das einfachste Get-Anfrageformular erstellt. Der Inhalt lautet wie folgt:
<form method="get" action="/getform"> <input type="submit" value="sub" /> </form>
Nachdem Sie auf die Schaltfläche „Senden“ geklickt haben, erscheint „GET“ im Browser und zeigt an, dass die Get-Anfrage erfolgreich gesendet und akzeptiert wurde.
CSRF-Schutz
Dann wechseln wir zur Post-Methode, aktualisieren dann und klicken auf die Schaltfläche „Senden“, um zu sehen, was passiert. Sie werden einen Fehler mit „Seite abgelaufen“ und dem Statuscode 419 finden. Warum kann Laravel keine Post-Anfragen annehmen? Hier stellen wir den standardmäßigen CSRF-Schutzmechanismus von Laravel vor.
Laravel bietet CSRF-Token-Schutz, um Cross-Site-Request-Forgery-Angriffe zu verhindern. Daher müssen Sie für alle Methoden außer der Get-Methode-Anfrage das CSRF-Token wie folgt zum Formular hinzufügen:
<input type="hidden" name="_token" value="{{csrf_token()}}">
Es hat auch die Abkürzung The Die Methode lautet wie folgt:
@csrf
Schalten Sie die CSRF-Schutzfunktion aus
Es wird im Allgemeinen nicht empfohlen, die CSRF-Funktion der gesamten Site auszuschalten. Es ist sehr einfach, sie auszuschalten. Kommentieren Sie einfach das
\App\Http\Middleware\VerifyCsrfToken::class
Zeile in der Datei Kernel.php. Wir hoffen, dass alle externen API-Schnittstellen keinen CSRF-Schutz erfordern. Anschließend können Sie die CSRF-Whitelist-Funktion verwenden, um die Whitelist in der Datei app/Http/Middleware/VerifyCsrfToken.php festzulegen. Wie folgt:
class VerifyCsrfToken extends Middleware { /** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ /* 这里是白名单列表 */ 'http://example.com/api/*', 'api/*', 'a/b/*' ]; }
Hinweis: Zur Vereinfachung des Testens wird die CSRF-Funktion beim Testen der Umgebung automatisch deaktiviert
Formularfälschung
Nachdem wir den CSRF-Schutzmechanismus kennengelernt haben, werfen wir einen Blick darauf wie man Formularfälschungen durchführt. Es ist sehr einfach, ein Formular zu fälschen. Fügen Sie einfach
<input type="hidden" name="_method" value="PUT">
hinzu oder kürzen Sie es zu Das obige ist der detaillierte Inhalt vonFormularfälschung und CSRF-Schutz von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!@method('PUT')

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

Laravel – Aktions-URL – Laravel 5.7 führt eine neue Funktion namens „Aufrufbare Aktions-URL“ ein. Diese Funktion ähnelt der in Laravel 5.6, die String-in-Action-Methoden akzeptiert. Der Hauptzweck der neuen Syntax, die Laravel 5.7 eingeführt hat, besteht darin, direktl
