Kurzzeitige Anzeige einer temporaeren Webseite bevor die gewuenschte Webseite angezeigt wird

  • 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.

    Hast Du schon Deine Raspberries gesichert :fies:

    Bei mir erledigt das raspiBackup vollautomatisch jede Woche :shy:
  • 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?

    Hast Du schon Deine Raspberries gesichert :fies:

    Bei mir erledigt das raspiBackup vollautomatisch jede Woche :shy:

    Edited once, last by framp: 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

  • 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/ques…referer-will-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)
    Quote

    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:

  • 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

    Hast Du schon Deine Raspberries gesichert :fies:

    Bei mir erledigt das raspiBackup vollautomatisch jede Woche :shy:
  • Verstehe ich das richtig?

    Ja. :thumbup:Danke fuer die Klarstellung.


    Deshalb passt das Codebeispiel von DeaD_EyE nicht fuer mein Problem - es ist aber trotzdem interessant fuer mich und ich werde ihn mir trotzdem genauer ansehen.

    Hast Du schon Deine Raspberries gesichert :fies:

    Bei mir erledigt das raspiBackup vollautomatisch jede Woche :shy:
  • Aber ich beschreibe es noch mal genauer um sicher zu gehen

    Ui-ui, das wird ja immer komplizierter...


    Eine echte technische Herausforderung.

    Ich bin gespannt, ob jemand - oder wir gemeinsam - dafür eine Lösung findet/finden!

  • eines weiteren Links im Content wieder die temporäre Seite gezeigt werden soll.

    Es soll jeder Aufruf einer Webseite immer den o.g. Zyklus durchlaufen und dabei kurzzeitig eine andere statische Seite zwischenschalten.

    Hast Du schon Deine Raspberries gesichert :fies:

    Bei mir erledigt das raspiBackup vollautomatisch jede Woche :shy:
  • 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.