Konstruiere CSRF-Token mit Laravel

Moderne Anwendungen bergen das Risiko, dass jeder ein Formular erstellen und an unsere Adressen senden kann. Auf diese Weise können wir unerwünschte Informationen von externen Quellen erhalten.

Um dies zu vermeiden, gibt es verschiedene Methoden. Eine der wichtigsten Methoden besteht darin, ein Token zu erstellen, mit dem wir die Herkunft der Anfragen, die unsere Services erhalten, ermitteln können. Auf diese Weise stellen wir sicher, dass es sich um eine legitime und keine gefälschte Anfrage handelt.

In diesem Fall erstellen wir ein CSRF- Token, das heißt, ein Token, um die standortübergreifende Anforderungsfälschung zu vermeiden. Dies ist nichts anderes als eine Anforderung, die von unserem Standort gesendet wird, als würde sie unsere Anwendung verwirren. Dies ist sehr verbreitet Das passiert, also können wir mit einem Check das Risiko erheblich reduzieren, Frameworks wie Django in Python integrieren es nativ und Laravel hat auch seine Implementierung.

Anforderungen
Wir werden nur eine Standardinstallation von Laravel benötigen, zusätzlich müssen wir auch wissen, wie man Ansichten erstellt, vom Rest lernen wir hier, was notwendig ist.

Was zu tun

– Primero debemos crear una ruta en la cual vamos a alojar una vista que va a generar un token, este va a ser el que utilizaremos luego para poder verificar la procedencia de la petición, para ello vamos a incluir el método token() de la clase Session . 1 – Zuerst müssen wir eine Route erstellen, in der wir eine Ansicht hosten, die ein Token generiert. Dies ist diejenige, die wir später verwenden werden, um den Ursprung der Anforderung zu überprüfen. Dazu werden wir die token () -Methode einbeziehen die Session- Klasse.

See also  HTML5 - Zeichnen von Kurven

Dazu erstellen wir in der GET- Methode der Route das Token und in der POST- Methode derselben führen wir die Überprüfung durch. Sehen wir uns in der folgenden Abbildung an, wie unser Code aussehen soll:

laravel-construir-token-crsf.jpg

– Ahora en nuestro siguiente paso vamos a crear un filtro que efectivamente va a hacer la comparación de nuestro token que recién creamos, en este caso vamos al archivo filters.php y vamos a comparar el token de la sesión del usuario con el que se imprime en el formulario, si hay coincidencia el filtro es positivo, si no se niega la acción. 2 – Jetzt werden wir in unserem nächsten Schritt einen Filter erstellen, der unser soeben erstelltes Token effektiv vergleicht. In diesem Fall gehen wir zur Datei filters.php und vergleichen das Token der Sitzung des Benutzers mit dem des Benutzers Drucken Sie auf dem Formular, wenn es eine Übereinstimmung gibt, der Filter ist positiv, wenn die Aktion nicht abgelehnt wird.

Lassen Sie uns eine Ausnahme auslösen, falls es keine Token-Übereinstimmung gibt. Mal sehen, wie der Code für die betreffende Datei lautet:

laravel-construir-token-crsf2.jpg

– Finalmente construimos la vista, en ella vamos a crear un campo utilizando la clase Form y un método llamado token() , este va a crear un campo oculto con el valor de nuestro token, este es el que va a tomar nuestro filtro al momento de hacer el envío por POST . 3 – Als letztes erstellen wir die Ansicht, in der wir ein Feld mit der Form- Klasse und einer Methode namens token () erstellen. Dadurch wird ein verstecktes Feld mit dem Wert unseres Tokens erstellt. Dies ist dasjenige, das unseren Filter zum Filter bringt Zeit zum Versenden per POST .

Dann werden wir in unserer Anwendung eine Datei mit dem Namen csrf.php im Ordner views erstellen. Dazu werden wir ein Formular erstellen und einige Felder hinzufügen, einschließlich der oben genannten, die das Token enthalten wird:

See also  Wie man USB 10 Windows von Ubuntu booten lässt

laravel-construir-token-crsf3.jpg

Wenn wir in unserer Anwendung die Ansicht csrf.php aufrufen , werden wir feststellen, dass wir Daten mit unserem Formular senden können. Wenn wir jedoch versuchen, ein Formular außerhalb unserer Anwendung per POST an dieselbe Ansicht zu senden, erhalten wir eine Ausnahme, wodurch das Einfügen fehlerhafter Daten verhindert wird .

Damit schließen wir dieses Tutorial ab, obwohl dies etwas mehr Arbeit erfordert. Es wird dringend empfohlen, Sicherheitstoken zu erstellen, da dies verhindert, dass unsere Sicherheit verletzt wird.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *