Contao-Camp 2024
Ergebnis 1 bis 8 von 8

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

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

    Standard And again: Fehlermeldung "Ungültiges Anfrage-Token" beim Formularversand

    Hallo zusammen,

    bei einer Website kommt ab und zu o. g. Fehlermeldung beim Formularversand zuletzt bei contao 4.9.38.
    Habe gerade aktualisiert.

    Ich habe natürlich wie alle meine Vorschreiber alles dazu gelesen. js_nocookie ist aktiviert.

    Das REQUEST_TOKEN ist manchmal leer, manchmal steht ein Wert drin.
    Code:
     
    <input type="hidden" name="REQUEST_TOKEN" value="">
     
    <input type="hidden" name="REQUEST_TOKEN" value="Ey4c41hMjE-G1gQe4PN787W7qR7Sx3E5siPtI_EDYqU">

    Im form_wrapper Template hatten wir schon mal Änderungen vorgenommen.
    Derzeit sieht es so aus:

    Code:
    <!-- indexer::stop -->
     <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>
    
       <?php if ($this->headline): ?>
         <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
       <?php endif; ?>
    
       <form<?php if ($this->action): ?> action="<?= $this->action ?>"<?php endif; ?> method="<?= $this->method ?>" enctype="<?= $this->enctype ?>"<?= $this->attributes ?><?= $this->novalidate ?>>
         <div class="formbody">
           <?php if ('get' != $this->method): ?>
             <input type="hidden" name="FORM_SUBMIT" value="<?= $this->formSubmit ?>">
             <!-- <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}"> -->
             <input type="hidden" name="REQUEST_TOKEN" value="<?=\Controller::replaceInsertTags('{{request_token}}') ?>">
             <?php if ($this->maxFileSize): ?>
               <input type="hidden" name="MAX_FILE_SIZE" value="<?= $this->maxFileSize ?>">
             <?php endif; ?>
           <?php endif; ?>
           <?= $this->hidden ?>
           <?= $this->fields ?>
         </div>
       </form>
    
     </div>
     <!-- indexer::continue -->
    Eine Besonderheit bei der Kundenwebsite ist, dass das Formular auf allen Seiten ist, caching auf 0 zu setzen ist also keine Option.

    Hat sich bei contao 4.13 etwas zu dieser REQUEST_TOKEN Thematik verändert, so dass ein Update das Problem definitiv lösen würde?

    Hoffnungsvolle Grüße,
    conter

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

    Standard

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

  3. #3
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    675

    Standard

    Das / die Formular/e sind immer ganz unten auf den Seiten.
    Geändert von conter (15.03.2023 um 17:52 Uhr)

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

    Standard

    Du nutzt auf dieser Seite den Shared Cache. Da kann es zu folgendem Problem kommen: https://github.com/contao/contao/issues/5311
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    675

    Standard

    Hallo Spooky,

    danke fürs checken.

    Heißt das also, die einzige Lösung wäre, auf allen Seiten mit Formular, also de facto auf allen Seiten, den shared cache auf 0 zu setzen und nur den private Cache zu verwenden?

    Existiert dieses Problem bei contao 4.13 auch noch?

    Viele Grüße,
    conter

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

    Standard

    Zitat Zitat von conter Beitrag anzeigen
    Heißt das also, die einzige Lösung wäre, auf allen Seiten mit Formular, also de facto auf allen Seiten, den shared cache auf 0 zu setzen und nur den private Cache zu verwenden?
    Für dieses spezielle Problem reicht es vielleicht auch den Cache auf bspw. 15 Minuten zu stellen - auf allen Seiten wo ein Formular mit Sicherheitsabfrage vorkommt.


    Zitat Zitat von conter Beitrag anzeigen
    Existiert dieses Problem bei contao 4.13 auch noch?
    Derzeit ja, mit der nächsten Contao 4.13 Version nicht mehr.
    Geändert von Spooky (15.03.2023 um 14:47 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Fan
    Registriert seit
    28.02.2011.
    Beiträge
    675

    Standard

    Hi Spooky,

    vielleicht kannst du mir noch eine Verständnisfrage beantworten.

    Was schreibt eigentlich den Value in das hidden input?

    Code:
    <input type="hidden" name="REQUEST_TOKEN" value="">
     
    <input type="hidden" name="REQUEST_TOKEN" value="Ey4c41hMjE-G1gQe4PN787W7qR7Sx3E5siPtI_EDYqU">

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

    Standard

    Der Controller bzw. der Insert Tag {{request_token}}. Dass der leer ist, ist normal, da nicht alle Requests einen Request Token brauchen.

    Der Fehler, von dem du in deinem ursprünglichen Post geschrieben hast kann passieren, wenn der initiale HTML Request kein Request Token gebraucht hat, dann aber bspw. ein AJAX Request auf der Seite passiert dann dann wiederum vielleicht ein Cookie setzt, was aber für den nächsten POST Request ein Request Token notwendig macht.
    Geändert von Spooky (15.03.2023 um 15:53 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

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
  •