Peter Schmeiduch: direkten Zugriff auf Unterseiten verhindern

Hallo Leute,

wie kann ich den direkten Zugriff auf Unterseiten verhindern?
Der erste Zugriff darf nur über die index.html erfolgen.

Kennt jemand eine Lösung?

Vielen Dank vorab...

Peter

  1. Hallo Leute,

    wie kann ich den direkten Zugriff auf Unterseiten verhindern?
    Der erste Zugriff darf nur über die index.html erfolgen.

    Kennt jemand eine Lösung?

    Vielen Dank vorab...

    Peter

    Hi Peter,

    eine Möglichkeit ist, mit einem Frameset zu arbeiten, in dem die Unterseiten nur im Hauptframe aufgerufen werden dürfen.

    Ted

  2. Hallo Peter,

    var startseite = "http://www.deine.domain/index.html";
    if (document.referrer)
      { if (document.referrer != startseite) self.location.replace(startseite); }
    else self.location.replace(startseite);

    müßte funktionieren...

    Schönen Gruß

    Rainer

    1. Hallo Peter,

      var startseite = "http://www.deine.domain/index.html";
      if (document.referrer)
        { if (document.referrer != startseite) self.location.replace(startseite); }
      else self.location.replace(startseite);

      müßte funktionieren...

      Schönen Gruß

      Rainer

      Nö, das macht aber keinen Sinn, wenn der Gast von einer Unterseite auf eine weitere Unterseite gelangen möchte, ich denkl mal, das sollte weiterhin gehen.

      Ted

      1. Hallo Ted,

        dann kann er ja auf der nächsten Unterseite das ganze Spiel wiederholen ;-)

        Rainer

        1. Hallo Ted,

          dann kann er ja auf der nächsten Unterseite das ganze Spiel wiederholen ;-)

          Rainer

          Hallo Rainer,

          auch das geht leider nicht.

          Denn: Was macht er, wenn eine Seite von verschiedenen Unterseiten aus verlinkt ist?

          Grüße

          Ted

          1. Hallo Ted,

            auch das geht leider nicht.

            Denn: Was macht er, wenn eine Seite von verschiedenen Unterseiten aus verlinkt ist?

            er könnte aber die Referrer-Domain prüfen, in etwa so:

            var startseite = "http://www.deine.domain/index.html";
            var startdomain = "http://www.deine.domain/";
            if (document.referrer)
              { if (document.referrer.substr(0,startdomain.length) != startdomain) self.location.replace(startseite); }
            else self.location.replace(startseite);

            Ist jetzt nur ein ungefährer Ansatz, aber vielleicht könnte er ja damit ein wenig herumexperimentieren.
            Der Vorteil bei diesem Script wäre, daß er es in eine externe Datei packen könnte und nur in alle Unterseiten
            einzubinden braucht. Aber natürlich kann man das ganze auch immer leicht umgehen, indem man JavaScript
            ausschaltet...
            Also, ich denke, es geht schon irgendwie, nur ob sich der Aufwand lohnt?

            Schönen Gruß

            Rainer

    2. Hallo Peter,

      var startseite = "http://www.deine.domain/index.html";
      if (document.referrer)
        { if (document.referrer != startseite) self.location.replace(startseite); }
      else self.location.replace(startseite);

      müßte funktionieren...

      Schönen Gruß

      Rainer

      Leider funktioniert es nicht so richtig. Vielleicht habe ich das Problem auch nicht ausführlich genug beschrieben.

      Auf der index.html wird durch ein javascript die Auflösung abgefragt und anschließend die entsprechende Unterseite index80.html bzw. index10.html im selben Explorer-Fenster (hoffentlich bekomme ich jetzt keine Abmahnung von H.v.G.) geöffnet. Durch das JavaScript springt der IE nun bei direktem Aufrauf der index80.html zwischen index.html und index80.html hin und her.

      mfg

      Peter