Formular-Versand - Ungültiges Token bei zweitem Absenden des Formulars
Hallo,
auch ich bin mal wieder an einem "Ungültiges Anfrage-Token" Problem
Code:
Ungültiges Anfrage-Token
Was ist das Problem?
Das Request-Token konnte nicht validiert werden.
Wie kann ich das Problem lösen?
Bitte klicken Sie hier und versuchen Sie es erneut. Verwenden Sie nicht die Zurück-Schaltfläche Ihres Browsers.
Weitere Informationen
Der Fehler tritt bei einer POST-Anfrage ohne gültiges Request-Token auf. In Contao 2.10 wurde die Referer-Prüfung durch ein Request-Token-System ersetzt. Wenn das Problem anhält, verwenden Sie eventuell eine inkompatible Drittanbieter-Erweiterung oder haben Ihre Contao-Installation nicht vollständig aktualisiert.
Besuchen Sie die Contao-Supportseite für weitere Informationen.
Durch Zufall konnte ich den Fehler reproduzieren, indem ich im FIREFOX das Formular ausgefüllt und abgeschickt habe.
Über den Browserzurück-Button bin ich wieder zum bereits ausgefüllten Formular gelangt und habe es nochmal abgeschickt. Das erzeugt o.g. Token Fehler.
Wenn ich dann NOCH einmal auf zurück klicke, wird das ausgefüllt Formular abgeschickt :(
CHROME
bin wie bei Firefox vorgegangen. Es gab keine Tokenmeldung stattdessen aber die eingeblendete Sicherheitsfrage
SAFARI
Wie bei Firefox
OPERA
wie Firefox
Wie kann ich erzwingen, das das Formular bei Browser-zurück geleert wird?
Oder gibt es noch eine andere Möglichkeit, dort zu verhindern das der Tokenfehler kommt.
Anmerkung 1: Ich weiß, dass das in der Regel nicht über den Backbutton navigiert wird, aber da ich der Fehler bei Kunden ab und zu auftritt, wollte ich alle Eventualitäten absichern.
Anmerkung 2: Das Formular ist auf allen Seiten im Footer, also das Caching für die Formularseite zu deaktivieren ist keine Option.
Frage: Was macht eigentlich der "Klicken Sie hier" Link der Fehlermeldung genau?
Viele Grüße
conter
Liste der Anhänge anzeigen (Anzahl: 4)
Der ccm19 hat ja einen Cookie um die Besucher-Präferenzen für Youtube, Traccking etc. zu speichern.
Wenn man alles ablehnt, wird aber auch gar nichts gespeichert.
Anhang 26795
Auf meiner Versuchsaufbauseite werden bei alles ablehnen
folgende cookies gespeichert:
Anhang 26793
Bei alles annehmen diese:
Anhang 26794
Bei den Seiten ohne Versuchsaufbau bleibt es bei "alles ablehnen" leer (siehe oben) und bei alles annehmen eben die o.g. cookies ohne foobar und csrf[...]token.
Anhang 26796
Ich kann jetzt z. B. diesen Token-Fehler erzeugen, indem ich nach dem Absenden per Browser-Back das ausgefüllte Formular zurückhole und noch mal abzusenden versuche.
Zu welchem Zweck ist das so ? Spamverhütung?
Wodurch kann es außerdem zu diesem Fehler kommen?
Bei meinen Kunden kommt es immer mal wieder zum Token-Fehler und würde es gerne nachvollziehen können.
Viele Grüße,
conter
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Der Fehler passiert, weil der von euch genutzt Consent Manager ein Cookie setzt
Zitat:
Ja - aber die Frage war, ob eure Applikation diese Info benötigt, oder ob sich alles Client-seitig abspielt
Da hab ich mch wahrscheinlich ungenau ausgedrückt. Es ist auch kein eigener ccm19-cookie vorhanden, sondern google und matomo-cookies.
Ich meinte, dass (alle?) cookie consent manager die ausgewählten Werte des Besuchers vorhalten und über einen Link im Datenschutz o. ä. wieder aufrufbar und änderbar machen.
Aber davon abgesehen setzt ccm19 ja NUR cookies, wenn man einige oder alle cookies erlaubt
Wenn ich im ccm19 auf "alles ablehnen" klicke, setzt das Tool KEINE Cookies (laut Dev-Tools).
Auf einer normalen Seite (keine cookies zu sehen) ohne foobar-Script schicke ich also ein Formular ab.
Ich lande ganz normal auf der "Danke-Seite". Dort finden sich jetzt erstmals Session-Cookie und csrf_https-contao_csrf_token
Anhang 26797
Wenn ich jetzt wieder der Back-Button klicke, bekomme ich das ausgefüllte Form und in den DevTools sind dieselben,, im Bild angezeigte, Session-Cookie und csrf_https-contao_csrf_token.
Also noch mal auf Senden klicken und wie gedacht kommt der Tokenfehler und das ohne das vorher irgendwer oder ccm19 einen cookie gesetzt hat.
Sorry, wenn ich "rum-nerve", aber es leuchtet mir einfach nicht ein :(
Viele Grüße,
conter