Ich bin nur beginnend, also bitte vergib mir. Ich habe einen guten Überblick über CodeIgniter, also verstehe ich, was vor sich geht. Ich stelle jedoch fest, dass mein CSRF-Token leer ist, wenn ich ein Formular erstelle. Ich arbeite durch die Laracasts-Videos, um den Laravel-Workflow zu ermüden.
myfile.blade.php
%Vor%Hier ist, was ich bekomme, wenn ich die Quelle ansehe:
%Vor%Ich habe das Verzeichnis config durchgesehen, sehe aber nichts, csrf zu aktivieren. Gibt es irgendwo eine zusätzliche Einstellung, die ich aktualisieren muss?
Danke für Ihre Vorschläge.
BEARBEITEN
Auch das gibt mir ein leeres verstecktes Eingabefeld:
%Vor%BEARBEITEN
So sieht mein Controller aus:
%Vor%Also sieht mein aktuelles Formular-Tag so aus:
%Vor%Wenn ich absende, kann ich die json-Antwort sehen - der Token ist offensichtlich leer.
%Vor%Es sollte
sein %Vor%Ich habe das Problem des HtmlService-Anbieters behoben. 5.2 Version entfernt Illuminate und add kollektiv folgen dem Schritt, um das Problem zu lösen:
%code%
Dann können Sie dieses Formular verwenden.
Wenn Sie eine Anmeldeseite haben und die Sitzung mit folgendem Befehl löschen möchten:
%Vor%Vergessen Sie nicht, dass dies auch das csrf-Token bereinigt, bevor es in die Ansicht eingefügt werden kann
Dies ist ein Konfigurationsproblem. Sie müssen den App-Schlüssel in Ihrer Konfigurationsdatei %code% auf eine Zeichenfolge mit 32 Zeichen setzen oder artisan cli %code% verwenden, um den Schlüssel für Sie zu generieren, damit Sie das CSRF-Token verwenden können.
Stellen Sie außerdem sicher, dass Sie Routen einschließen, die das CSRF-Token in der Gruppenroute %code% verwenden.
Sie können URIs ausschließen, indem Sie ihre Routen außerhalb der Web-Middleware-Gruppe definieren, die in der Standarddatei routes.php enthalten ist, oder indem Sie die URIs der Eigenschaft $ exert der VerifyCsrfToken-Middleware hinzufügen: Ссылка
Die Laravel Grundlegende Reihe ist für Laravel 5.0, also hast du ein paar Optionen. Sie können Laravel 5.0 installieren, um mit dieser Serie fortzufahren. Um L5.0 zu installieren, müssen Sie diesen Befehl ausführen:
%Vor%Wenn du Laravel 5.2 benutzen willst (was ich empfehlen würde und Jeffrey Way wird höchstwahrscheinlich bald eine Serie veröffentlichen), gibt es einige zusätzliche Dinge, die du beachten solltest.
Stellen Sie zuerst alle Ihre Routen in eine "Web" -Middleware-Gruppe wie folgt:
%Vor%In der Vergangenheit gab es mehrere Middlewares, die bei jeder Anfrage standardmäßig ausgeführt wurden. In 5.2 ist dies nicht mehr der Fall. Zum Beispiel wird das Token in der Sitzung gespeichert, aber in 5.2 werden Dinge wie die Middleware "StartSession" nicht automatisch angewendet. Daher muss die "Web" -Middleware auf Ihre Routen angewendet werden. Der Grund für diese Änderung in 5.2:
Middleware-Gruppen ermöglichen es Ihnen, mehrere Routen-Middleware unter einem einzigen, komfortablen Schlüssel zu gruppieren, sodass Sie einer Route mehrere Middleware gleichzeitig zuweisen können. Dies kann beispielsweise nützlich sein, wenn Sie eine Web-Benutzeroberfläche und eine API in derselben Anwendung erstellen. Sie können die Session- und CSRF-Routen in eine %code% -Gruppe und vielleicht den Ratenbegrenzer in der %code% -Gruppe gruppieren.
Auch in der Laravel Fundamental-Serie zieht Jeffrey das "illuminate / html" -Paket ein, aber jetzt benutzen die meisten Leute das Laravel-Sammelpaket. Sie behandeln eine Menge der Laravel-Pakete, die aus dem Kern herausgenommen werden. Als Ergebnis würde ich das "illuminate / html" -Paket entfernen. Entfernen Sie in Ihrer %code% -Datei %code% (oder was auch immer im Abschnitt require steht). Entfernen Sie außerdem den entsprechenden Dienstanbieter und erstellen Sie Fassaden, die Sie Ihrer %code% -Datei hinzugefügt haben.
Um die Laravel-Kollektivversion zu installieren, fügen Sie diese in Ihrer %code% -Datei hinzu: %code% . Führen Sie dann %code% aus. Sobald dies geschehen ist, fügen Sie dies in Ihrer %code% -Datei Ihrem Provider-Array hinzu:
%Vor%und fügen Sie dies Ihrem Alias-Array hinzu:
%Vor%Ich hoffe, ich verpasse nichts anderes.
Seit der Version 5.1 ermöglicht Laravels Middleware VerifyCsrfToken die Angabe von Routen, die von der CSRF-Validierung ausgeschlossen sind. Um dies zu erreichen, müssen Sie die Routen zum Array $ except in Ihrer Klasse App \ Http \ MiddlewareVerifyCsrfToken hinzufügen:
%Vor%Weitere Informationen finden Sie Ссылка .
Ich habe ein Zahlungssystem, bei dem Daten an die Website von Drittanbietern gesendet und dann zurückgeschleppt werden ...
Wenn Daten zurückkommen, trifft sie eine bestimmte URL, sagen wir: / ok route. %code% .
Aber wegen Laravel-Middleware bekomme ich Token-Mismatch. Es gibt keine Möglichkeit, dass Drittanbieter-Zahlungs-API Token generieren kann, also wie ich es deaktiviere? nur für diese Route?
oder gibt es eine bessere Option?
%Vor%