Ergebnis 1 bis 15 von 15

Thema: Fehlermeldung "Ungültiges Anfrage-Token" beim Formularversand

  1. #1
    Contao-Nutzer
    Registriert seit
    07.04.2010.
    Ort
    Berlin
    Beiträge
    145

    Standard Fehlermeldung "Ungültiges Anfrage-Token" beim Formularversand

    Ich bekomme eine Fehlermeldung beim Formularversand.

    Ich habe schon einige Einträge dazu im Forum gefunden (z.B. Hier, Hier und Hier ) aber die haben mir leider auch nicht weitergeholfen, weil noch nicht einmal eine entsprechende Fehlermeldung in einem Logfile finden konnte.

    Das Formular hat mehrere Jahre fehlerfrei funktioniert, aber jetzt kommt nach dem absenden eine Contao-Fehlerseite mit dem Hinweis "Ungültiges Anfrage-Token / Das Request-Token konnte nicht validiert werden / Der Fehler tritt bei einer POST-Anfrage ohne gültiges Request-Token auf"

    Installiert sind:
    Contao 4.9.2
    Notification Center 1.5.12
    php 7.3.28
    Hoster: 1&1

    Für das Formular wird das NotificationCenter genutzt, Versand läuft über smtp, entsprechender Zugang ist hinterlegt in der app/config/parameters.yml und an den Zugangsdaten hat sich auch nichts geändert. Das Passwort enthält Sonderzeichen und ist in Hochkommata gesetzt, also so: 'Passwort'

    Mir würde es schon weiterhelfen wenn ich wüsste in welchem der verschiedenen Logiles ich eine entsprechende Fehlermeldung finden kann. Ich habe schon im Backend unter System-Log und im Ordner var/logs/prod-2021-06-18.log nachgesehen aber nichts gefunden. Nach meinem Verständnis sollte es ja ein Logfile mit aktuellem Datum geben in dem eine Fehlermeldung mit dem Zeitstempel hinterlegt ist an dem das Formular versendet wurde.
    Geändert von Balduin (23.06.2021 um 14:54 Uhr)

  2. #2
    Contao-Urgestein Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    9.112
    User beschenken
    Wunschliste

    Standard

    Welche Änderungen sind denn vorgenommen worden seit es das letzte Mal funktioniert hat? Updates? Änderungen am Formular, Änderungen beim Hosting? Ansonsten würde ich mal eine komplette Systemwartung im Backend machen und den Anwendungscache neu aufbauen lassen im Manager. Wenn es nur von einem Browser aus passiert auch mal die Cookies der Domain löschen. Und auch mal ein Update auf die aktuelle 4.9.15 durchführen.

  3. #3
    Contao-Nutzer
    Registriert seit
    07.04.2010.
    Ort
    Berlin
    Beiträge
    145

    Standard

    Am System wurden meines Wissens keine Änderungen vorgenommen, beim Hoster (1&1) kann mans ja nie so ganz genau wissen und Systemwartung/Cache Neuaufbau hatte ich schon durchgeführt. Problem taucht in allen Browsern auf.
    Update ist im Moment leider keine Option, weil das einen Rattenschwanz nach sich zieht.
    Mir ist noch aufgefallen, daß fast alle fehlerhaften Formulare die selbe eMail als Absender und Empfänger haben. Es gibt nur ein Formular bei dem eine andere eMail als Empfängeradresse eingetragen ist und bei dem tritt das Problem nicht auf.

    Also habe ich mal versucht bei einem der fehlerhaften Formulare auch diese andere eMail als Empfänger einzutragen - Problem besteht weiterhin.

    Interessanterweise funktioniert das eine fehlerfreie Formular auch weiterhin wenn ich bei dem genauso wie bei den fehlerhaften auch die selbe eMail als Absender/Empfänger eintrage.

    Als nächstes werde ich wohl mal probieren die fehlerhaften Formulare komplett neu anzulegen oder das eine fehlerfreie zu duplizieren.

    Aber das wäre natürlich nur Syptomptomdoktorei und keine Lösung des Grundproblemns...

  4. #4
    Contao-Nutzer
    Registriert seit
    07.04.2010.
    Ort
    Berlin
    Beiträge
    145

    Standard

    Nach viel Trial&Error konnte ich das Problem nun lösen.

    Die fehlerhaften Formulare befanden sich alle auf Unterseiten einer Hauptseite "Kontakt" und für diese war in den Cache-Einstellungen das Häckchen gesetzt bei "Immer aus dem Shared Cache laden".

    Häckchen entfernt und alle Formulare gehen wieder.
    Da muß man erstmal drauf kommen, daß sich diese Einstellung auf den Formularversand auswirkt!

    Die Cache-Einstellungen vererben sich auf alle Unterseiten und das eine Formular das noch funktioniert hat befand sich eben nicht auf einer Unterseite von "Kontakt".

    Wir haben angefangen die Cache-Einstellungen zu nutzen um die Performance der Seite zu verbessern. Wenn ich jetzt die lange Contao-Dokumentation zum HTTP-Caching bis ganz zum Schluß durchgelesen und anschließend nochmal lange ganz scharf drüber nachgedacht hätte, dann wäre ich VIELLEICHT drauf gekommen, daß sich diese Einstellung eventuell auch irgendwie auf den Formularversand auswirken könnte. Ein richtig fetter Hinweis wäre vielleicht doch nicht schlecht? Das Wort "Formular" taucht jedenfalls nirgendwo in der Dokumentation auf...

  5. #5
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von Balduin Beitrag anzeigen
    Nach viel Trial&Error konnte ich das Problem nun lösen.

    Wenn ich jetzt die lange Contao-Dokumentation zum HTTP-Caching bis ganz zum Schluß durchgelesen und anschließend nochmal lange ganz scharf drüber nachgedacht hätte, dann wäre ich VIELLEICHT drauf gekommen, daß sich diese Einstellung eventuell auch irgendwie auf den Formularversand auswirken könnte.
    Wow, wie hättest du denn darauf kommen können ...

    Seit unserer Umstellung auf 4.9 tritt das Problem bei uns auch sporadisch auf (was bei Cache-Problemen schon plausibel wäre). Wir senden ein Formular, dessen Antwort nicht von Contao ausgewertet wird, sondern von einem auf der Antwortseite inkludierten PHP-Scxript. Dort fügen wir ein hidden Field mit dem Requesttoken ein. Wenn das gecached wird, dann kommt das falsche token.

    Auf jeden Fall schon mal vielen vielen Dank für den Hinweis. Mal sehen, ob es was gebracht hat, dass ich für die betroffene Formularseite das Caching komplett ausgeschaltet habe.

    lg B.

  6. #6
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von bwl21 Beitrag anzeigen
    Wow, wie hättest du denn darauf kommen können ...

    Seit unserer Umstellung auf 4.9 tritt das Problem bei uns auch sporadisch auf (was bei Cache-Problemen schon plausibel wäre). Wir senden ein Formular, dessen Antwort nicht von Contao ausgewertet wird, sondern von einem auf der Antwortseite inkludierten PHP-Scxript. Dort fügen wir ein hidden Field mit dem Requesttoken ein. Wenn das gecached wird, dann kommt das falsche token.

    Auf jeden Fall schon mal vielen vielen Dank für den Hinweis. Mal sehen, ob es was gebracht hat, dass ich für die betroffene Formularseite das Caching komplett ausgeschaltet habe.

    lg B.
    Hat leider nichts gebracht, das Problem besteht noch immer ...

    Ich steuere das request token über {{request_token}} ein, und werden nun {{request_token|uncached}} probieren.

    in der Anfrage sehe ich dass REQUEST_TOKEN manchmal leer ist. das 'uncached' hat leider auch nichts gebracht.
    Geändert von bwl21 (11.07.2021 um 18:22 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von bwl21 Beitrag anzeigen
    Hat leider nichts gebracht, das Problem besteht noch immer ...

    Ich steuere das request token über {{request_token}} ein, und werden nun {{request_token|uncached}} probieren.

    in der Anfrage sehe ich dass REQUEST_TOKEN manchmal leer ist. das 'uncached' hat leider auch nichts gebracht.
    Inzwischen habe ich festgestellt, dass beim allerersten Besuch auf der Seite, bzw. nach dem Löschen der cookies das Problem auftritt. Das müsste doch auch bei anderen Installationen passieren, oder?

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

    Standard

    Welche Contao Version?
    » sponsor me via GitHub or PayPal

  9. #9
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Welche Contao Version?
    Version 4.9.16

    Ich kann beobachten, csrf_https-contao_csrf_token cookie beim ersten Submit angelegt wird.
    Das formular, das ich schicke wird aber nicht von Contao geneeriert oder ausgewertet, sondern in einem inkludierten PHP-Script erstellt.
    Geändert von bwl21 (15.07.2021 um 10:30 Uhr)

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

    Standard

    Poste mal einen Link zu diesem Formular.
    » sponsor me via GitHub or PayPal

  11. #11
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Poste mal einen Link zu diesem Formular.
    https://www.bruedergemeinde-korntal....7_Grosser_Saal

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

    Standard

    Ich konnte dort keinen Fehler feststellen.

    Evt. haben manche von deinen Besuchern Cookies in ihrem Browser deaktiviert. In diesem Fall kannst du im Seitenlayout das js_nocookie JavaScript Template aktivieren. Dann bekommen diese Besucher zumindest einen Hinweis, dass sie Formulare nicht benutzen können.
    » sponsor me via GitHub or PayPal

  13. #13
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich konnte dort keinen Fehler feststellen.

    Evt. haben manche von deinen Besuchern Cookies in ihrem Browser deaktiviert. In diesem Fall kannst du im Seitenlayout das js_nocookie JavaScript Template aktivieren. Dann bekommen diese Besucher zumindest einen Hinweis, dass sie Formulare nicht benutzen können.
    Ich habe deine anmeldung gesehen.

    Hat das bei dir auf Anhieb funktioniert?


    Wenn keine Cookies da sind, dann ist die Klammer in "Falls Sie hier ( ) nur ein leeres Klammerpaar sehen, dann laden Sie die Seite bitte neu" beim ersten aufruf leer und er hat kein Request-Token. dann funktionert der Aufruf der zweiten Stufe nicht.

    Ein einmaliges neuladen der Seite hilft, und das Cookie ist da.

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

    Standard

    Zitat Zitat von bwl21 Beitrag anzeigen
    Hat das bei dir auf Anhieb funktioniert?
    Jup, hat funktioniert.
    » sponsor me via GitHub or PayPal

  15. #15
    Contao-Nutzer
    Registriert seit
    14.11.2019.
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Jup, hat funktioniert.
    hm, sehr komisch. wenn ich in den Developer-Tools die Cookies der Seite lösche und dann das Formular neu aufrufen, dann funktioniert es bei mir nicht zum ersten mal. Ich muss die Seit neu laden und dann klappt es.

    Der Effekt ist erst seit 4.9 da, mit 4.5 hat es ein Jahr lang klaglos funktioniert.

    gibt es eine Funktion über die ich das erstellen eines Request-tokens erzwingen kann?


    Offenslichtlich hat sich mein Rumprobieren mit deinem Versuch überschnitten.

    ich habe

    HTML-Code:
    <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
    ersetzt durch

    HTML-Code:
    <input type="hidden" name="REQUEST_TOKEN" value="<?=\Controller::replaceInsertTags('{{request_token}}') ?>">
    vielen Dank.

    B.
    Geändert von bwl21 (15.07.2021 um 12:31 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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