Ergebnis 1 bis 9 von 9

Thema: Eigenes Formular mit ungültigem Anfrage-Token

  1. #1
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Gesicht zeigt die Zunge Eigenes Formular mit ungültigem Anfrage-Token

    Hallo Zusammen!

    Ich habe folgendes Formular und auch den Request-Token etc. beachtet - dennoch wird nach dem Absenden immer die Fehlermeldung "Ungültiges Anfrage-Token" angezeigt. Die Log wird gar nicht befüllt - ich kann also gar nicht erkennen woran es liegt.

    Das ist das Formular, welches mittels {{file::*}} eingebunden wird:

    HTML-Code:
    <div class="tinymail-widget-register">
    	<a name="tinymail"></a>
    	<?= $tinymail_note ?>
    	<form action="<?= \Environment::get('requestUri') ?>#tinymail" enctype="application/x-www-form-urlencoded" method="post" name="register">
    		<div class="tm--w">
    			<input type="text" name="company" placeholder="Firmenname*" value="<?= trim($_POST['company']) ?>" required>
    		</div>
    		<div class="tm--w">
    			<input type="text" name="firstname" placeholder="Vorname*" value="<?= trim($_POST['firstname']) ?>" required>
    		</div>
    		<div class="tm--w">
    			<input type="text" name="lastname" placeholder="Nachname*" value="<?= trim($_POST['lastname']) ?>" required>
    		</div>
    		<div class="tm--w">
    			<input type="email" name="mail" placeholder="E-Mailadresse*" value="<?= trim($_POST['mail']) ?>" required>
    		</div>
    		<div class="tm--w-privacy">
    			<input type="checkbox" name="privacy" id="privacy" class="checkbox" value="accepted" required>
    			<label for="privacy"></label>
    			<p>Ich bin mit der Datenschutzerklärung einverstanden und willige ein, dass meine Daten zum Zwecke der Anfrage gespeichert und verarbeitet werden. Mein Widerrufsrecht habe ich zur Kenntnis genommen.</p>
    		</div>
    		<div class="tm--w-submit">
    			<button type="submit" name="submit">Newsletter abonnieren</button>
    			<input type="hidden" name="sv" value="y" />
    			<input type="hidden" name="t" value="<?= $tinymail_token ?>" />
    			<input type="hidden" name="FORM_SUBMIT" value="auto_form_2">
    			<input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}" />
    		</div>
    	</form>
    </div>
    Hat jemand eine Idee? Die ganzen Beiträge hier im Forum beziehen sich immer auf den Request im Formular - den habe ich drin und im Quelltext wird er mir auch angezeigt.

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

    Standard

    Poste einen Link zum Formular.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Standard

    Hallo Spooky!

    Hier: https://www.stonyrealestatecapital.de/

    Ich habe es aktuell aber so eingestellt, dass ein neues Fenster geöffnet wird und dann die PHP Datei separat aufgerufen wird (damit die Anmeldung jetzt erst einmal funktioniert).
    Vorher gab es kein Target. Eingebunden wird über {{file::datei.php}} in der die Verarbeitung als auch das HTML Formular drin ist.

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

    Standard

    Du musst wenn dann einen Link zur Verfügung stellen, wo das Problem reproduziert werden kann.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Standard

    Jetzt: https://www.stonyrealestatecapital.de/

    Habs direkt nochmal auf die nicht funktionierende Lösung umgestellt.

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

    Standard

    Hm, auf deiner Startseite wird aus irgendeinem Grund eine Session erzeugt. Und aus irgendeinem Grund wird dann aber von Contao kein CSRF Token Cookie im Response gesendet. Das müsste man näher debuggen.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Standard

    Ah...die Session erzeuge ich:

    PHP-Code:
    /**
     * session and token
    **/
        ## start session
        
    session_start();
        
        
    ## generate token
        
    $tinymail_token session_id().time(); 
    Heißt: Ich darf die Session nicht erzeugen? Den Token kann ich auch anders generieren lassen bzw. ich lass einfach session_start weg, weil Contao bereits vorher eine startet?

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

    Standard

    Zitat Zitat von marcfunk Beitrag anzeigen
    Heißt: Ich darf die Session nicht erzeugen?
    Kannst du schon, aber nicht so. Bzw. du solltest generell hinterfragen, ob du überhaupt eine Session brauchst. Beschreibe deinen Use Case.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    05.07.2021.
    Beiträge
    31

    Standard

    Ich habe die Session nur benutzt um den eigenen Validierungstoken zu generieren. Völliger Mumpitz...warum ich das so gemacht habe, weiß ich gerade selbst nicht
    Session ist raus und der Token wird jetzt anders generiert.

    Und siehe da: Es geht

    Ich habe darauf gehofft, dass du meinen Beitrag siehst - du hast hier im Forum meiner Meinung nach die meiste Ahnung und hilfst immer sehr schnell! DANKE!

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
  •