Kurzzeitige Anzeige einer temporaeren Webseite bevor die gewuenschte Webseite angezeigt wird

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Ich suche nach einer Methode jeglichen Webeseitenrequest auf meiner Webseite von einer bestimmten IP fuer eine kurze Zeit mit einer Webseite meiner Wahl zu beantworten und danach die requestierte Webseite anzuzeigen.

    Ueber Vorschlaege wie ich das implementieren kann wurde ich mich freuen.

  • Kurzzeitige Anzeige einer temporaeren Webseite bevor die gewuenschte Webseite angezeigt wird? Schau mal ob du hier fündig wirst!

  • Und auf der temporären Seite ein automatisches Weiterleiten nach n Sekunden...

    Vielen Dank fuer Deinen Link :thumbup:

    Jetzt frage ich mich aber wie bekomme ich auf der temporaeren Seite die original requestierte URL um dazu zu redirecten?

    :no_sad: ... Kein Backupkein Mitleid ... :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft 💥 gehst wie ein HB Männchen :)

    Einmal editiert, zuletzt von framp (22. März 2022 um 22:36) aus folgendem Grund: URL not URI

  • Hi framp,

    Du könntest z.B. per javascript die Variable

    var currentUrl = window.location.href;

    oder

    var currentLocation = window.location;

    die aktuelle URL abfragen und als Parameter an den Link zur temporären Seite anhängen (Quelle: Link).

    Die temporäte Seite könnte dann diesen Parameter, also die aufrufende URL, wieder auslesen und entsprechend im Re-Direct verwenden.

    Beim Re-Direct zurück zur ursprünglichen URL, könntest Du an diesen einen "Quitungs-Parameter" anhängen, damit die ursprüngliche Webseite erkennen kann, dass die temporäre Seite bereits aufgerufen worden ist (per IF-Abfrage vor dem 1. Re-Direct zur temporären Seite). Sonst würde ja eine Endlosschleife entstehen.

    Gruß, Holger

    "Probleme kann man meist nicht mit derselben Denkweise lösen, durch die sie entstanden sind."

    Wetterstation Nievenheim

  • Kein meta-refresh

    Eine sofortige Umleitung kann vom Webserver initiiert werden (HTTP-CODE 302).

    Wenn die Seite eine Weile angezeigt werden soll, dann meta-refresh verwenden.

    Flask

    Ich habe mal ein minimales Beispiel mit Flask erstellt.

    redirector.tar.bz2 906 Byte :)

    Flask muss via pip dann noch installiert werden. Andere Abhängigkeiten gibt es nicht.

    Die Seite, die zu der Umleitung verlinkt (<a href=...>), kann ganz woanders sein und muss auch nicht mit Flask betrieben werden.

    Da ginge auch ein ganz normaler Webserver (apache2/nginx), um die Seite auszuliefern.

    Der Umleitungs-Dienst liefert ein Template aus, in dem der Referrer zur Umleitung bereits inkludiert ist.

    Manchmal passiert es, dass der Referrer leer ist (gibt auch Nutzer, die auf ihre Sicherheit achten).

    Falls du mehrere tausend Requests pro Sekunde bekommst, wäre es eine Überlegung wert ggf. ein asynchrones Webframework zu verwenden.

    Referrer

    Wenn man nichts Einstellt, wird der Referrer gekürzt (soll den Anwender schützen, da sonst Daten exponiert werden können).

    Angenommen es hängt noch ein Query mit an der URL, so wird dieser bei der unsicheren Einstellung belassen.

    https://stackoverflow.com/questions/4501…ll-be-truncated

  • Eine normale Umleitung ist ja pillepalle, falls Apache, dann ein 302er-Redirect per .htaccess-Datei erstellen. Aber da gibt es ein kleines Detail:

    von einer bestimmten IP

    soll nach der Seite auf den Request weitergeleitet werden, was wieder zur Ersatzseite zurück führen würde usw.

  • Der Nachteil der RewriteEngine ist, dass die Umleitung sofort geschieht. Es wird nichts angezeigt. Man kommt sofort wieder zum Ursprung zurück, wenn man das so machen würde.

    URL-Shortener arbeiten so z.B.: https://www.shorturl.at/shortener.php

    Code
    import requests
    
    
    for response in requests.get("https://shorturl.at/bdkEN").history:
        print(response.url)
    Zitat

    Wenn man den Link im Browser öffnet, bekommt man von den Umleitungen nichts mit.

    So wie ich das verstanden habe, sollen bestimmte Besucher irgendeine Seite angezeigt bekommen und nach einer Zeit X soll dann wieder zum Ursprung umgeleitet werden. Wenn das nicht der Fall ist (Besucher soll die Seite nicht sehen), kann man die Umleitung über die Konfiguration des Apache2/nginx einrichten.

  • Wenn man den Link im Browser öffnet, bekommt man von den Umleitungen nichts mit.

    Als Test für httpie's https habe ich mal @DeaD_EyE's Beispiel genutzt:

    Code
    https -vv --follow --download https://shorturl.at/bdkEN

    Ergebnis der Weiterleitungs-/Umleitungsorgie im Detail:

    Spoiler anzeigen
  • Whow - vielen Dank fuer Eure zahlreichen Antworten :thumbup: Ich brauche deshalb jetzt etwas Zeit um sie zu sichten und zu verstehen.

    So wie ich das verstanden habe, sollen bestimmte Besucher irgendeine Seite angezeigt bekommen und nach einer Zeit X soll dann wieder zum Ursprung umgeleitet werden.

    Ich denke Du hast mich richtig verstanden. Aber ich beschreibe es noch mal genauer um sicher zu gehen :)

    1) Client requestiert eine Webseite einer Domain, z.B. /eins

    2) Server returned Webseite /temporary fuer 15 Sekunden

    3) Server returned dann die eigentlich requestierte Webseite /eins

    4) Folgt der Client einem Link aus /eins auf eine andere Seite der Domain, z.B. /zwei werden die Schritte 1-3 wieder durchlaufen, nur eben mit /zwei

  • Geändert hat sich [...] nur, dass bei jedem Aufruf eines weiteren Links im Content wieder die temporäre Seite gezeigt werden soll.

    Ebend!

    Damit fallen IMHO nämlich alle Lösungen raus, bei Denen man etwas an den (also allen) Seiten der Webpräsenz selber ändern müsste (Javascript einfügen o.ä).

    Ich glaube kaum, dass framp das bei seinem doch sehr verzweigten Webauftritt in Erwägung zieht.

    Aber schau'n wir mal.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!