Ergebnis 1 bis 14 von 14

Thema: Formular-Versand - Ungültiges Token bei zweitem Absenden des Formulars

  1. #1
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard 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
    Geändert von conter (24.11.2023 um 17:49 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    Ich habe auf o.g. Website diesen Cookie-Test gemacht.

    https://github.com/contao/contao/issues/2820

    Auf meiner Seite ist ein ccm19 CookieConsentManager vorgeschaltet.

    Egal, ob ich Cookies ablehne oder annehme, erscheint bei der genannten Versuchsanordnung tatsächlich direkt "Ungültiges Anfrage-Token" beim Versuch das Testformular zu senden.

    Mir ist jetzt nur nicht klar, was ich jetzt mit dieser Erkenntnis machen kann ...

    Kann mir jemand auf die Sprünge helfen?

    Viele Grüße,
    conter

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Braucht eure Applikation denn die Cookies des Consent Managers?
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    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.
    alles-ablehnen-keine-cookies.png

    Auf meiner Versuchsaufbauseite werden bei alles ablehnen
    folgende cookies gespeichert:
    versuchsaufbau-cookies.png

    Bei alles annehmen diese:
    versuchsaufbau-cookies-alle.png

    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.
    alles-akzeptieren-cookies.png

    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

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von conter Beitrag anzeigen
    Der ccm19 hat ja einen Cookie um die Besucher-Präferenzen für Youtube, Traccking etc. zu speichern.
    Ja - aber die Frage war, ob eure Applikation diese Info benötigt, oder ob sich alles Client-seitig abspielt.


    Zitat Zitat von conter Beitrag anzeigen
    Wodurch kann es außerdem zu diesem Fehler kommen?
    Der Fehler passiert, weil der von euch genutzt Consent Manager ein Cookie setzt. Durch dieses Cookie benötigt ein darauf folgender POST Request ein CSRF Token, welches fehlt, da beim initialen Request keines notwendig war.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    Der Fehler passiert, weil der von euch genutzt Consent Manager ein Cookie setzt
    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

    feedbackseite-session-cookies.png

    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

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Poste einen Link zur Seite.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    auf der Seite### ist ein Formular das nicht zum Kunden geht.
    Da kannst du mal schauen und auch das Form absenden.

    ### ist die Seite mit dem foobar Script, auch das geht nicht an den Kunden)
    Geändert von conter (28.11.2023 um 09:03 Uhr)

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von conter Beitrag anzeigen
    auf der Seite
    https://www.europakontor.de/virtuell...test-zwei.html ist ein Formular das nicht zum Kunden geht.
    Unter dieser URL kann ich kein Problem feststellen. Es kommt allerdings auch kein Consent Manager oder dergleichen.
    » sponsor me via GitHub or PayPal or Revolut

  10. #10
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    Komisch. Bei mir kommt der Layer ccm19 ... FF, chrome, Safari, opera

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Unter Chrome sehe ich den Consent Manager. Kann dort aber auch kein Problem mit dem Formular feststellen.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    Also konntest du das ausgefüllte Formular noch mal schicken, nachdem du über back zurückgegangen bist?

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von conter Beitrag anzeigen
    Also konntest du das ausgefüllte Formular noch mal schicken, nachdem du über back zurückgegangen bist?
    Nein, das geht nicht. Bei einem "Zurück" würde der Browser normalerweise einen neuen Request machen, wenn der vorherige Request ein POST Request war. Aus irgendeinem Grund springt der Browser auf dieser Website aber direkt zum Formular zurück, ohne erneuten Request. Dadurch fehlt auch der Request Token - weil jetzt ist ein Request Token durch die Session Daten erforderlich.
    » sponsor me via GitHub or PayPal or Revolut

  14. #14
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    720

    Standard

    Moin Spooky,
    danke für die Analyse und Antwort. Ich schaue mir das mal bei anderen contao-Seiten von mir an.Viele Grüße,
    conter

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •