Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Abgleichung mit InsertTags Referer & Path

  1. #1
    Contao-Nutzer
    Registriert seit
    10.10.2019.
    Beiträge
    16

    Standard Abgleichung mit InsertTags Referer & Path

    Hallo Contao-Community,

    Ich habe ein Problem mit der Umsetzung einer seitenspezifischen Abfrage mittels den Referer- und Path-Tags.

    Szenario ist folgendes:
    Nach einem automatischen Logout aufgrund von Inaktivität gelangt der User erst auf eine Seite mit CountDown, welche nach Ablauf des Zählers auf die Loginseite weiterleitet. Basierend darauf, ob der User vorher auf der Weiterleitungsseite war oder nicht, soll auf der Loginseite ein entsprechende Mitteilung ausgegeben werden.

    Lösungsansatz also eigentlich ja ziemlich einfach..

    PHP-Code:
      $referrer $this->replaceInsertTags('{{env::referer}}');
      
    $checker $this->replaceInsertTags('{{env::path}}') . 'weiterleitung.html';

        if (
    $referrer == $checker ) {
        echo 
    'Sie wurden aufgrund von Inaktivität automatisch abgemeldet.';
      } 
    Diese Abfrage wirft jedoch immer false, da die Zeichenlänge trotz exakt gleichem Ausgabelink nicht identisch ist.

    PHP-Code:
    $referrer Ausgabehttps://backend.PLATZHALTER.de/weiterleitung.html (String: 288)
    $checker Ausgabehttps://backend.PLATZHALTER.de/weiterleitung.html (String: 53) 
    Also gehe ich davon aus, dass der eigentliche Link erst später generiert wird. Schließlich übergibt der $referrer (im Gegensatz zu den anderen env::Tags) folgende Zeichenfolge/Abfrage:

    PHP-Code:
    <esi:include src="/_fragment?_hash=0UfQPpU3s08qZfel5s3gytoF7XNSvxMWx%2FsvB%2FB%2Fvz0%3D&_path=insertTag%3D%257B%257Benv%253A%253Areferer%257D%257D%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.controller.insert_tags%253ArenderAction&clientCache=0&pageId=42&request=login.html" /> 
    Liegt der Unterschied darin, dass das Referer-Tag erst die Information der zuletztbesuchten Seite beim Client abfragen muss, bevor ein entsprechender Link generiert werden kann?

    Letztlich habe ich das Problem zwar einfach mit der contao-unabhängigen PHP-Abfrage gelöst, würde aber trotzdem gerne wissen, ob es die Möglichkeit einer contao-internen Lösung für diesen Ansatz gibt. Hierfür sollte ja schließlich auch der entsprechende env::referer-Tag gedacht sein? Oder habe ich einen Denkfehler?



    Beste Grüße,
    Claudio

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

    Standard

    Nimm die \Contao\Environment Klasse. Oder besser: injecte dir in deinem Service den Symfony RequestStack

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
  •