Peter: Externer, qualifizierter Seitenaufruf verhindern. Geht das?

Hallo,

ich hoffe ich bin hier nicht ganz falsch mit meiner Frage - falls sie schon einmal so gestellt wurde bitte ich das nachzusehen - eine Suche war wegen Serverauslastung zurzeit nicht möglich.

Also, ich würde gerne wissen, ob unf ggf. wie man einen externen, qualifizierter Seitenaufruf verhindern kann.

Etwas ausführlicher formuliert:
Ich rufe in der Adresszeile meines Browsers eine x-beliebige Seite auf, die aber Teil einer Homepage ist und vom Ersteller der Homepage nicht dazu gedacht ist, so aufgerufen (eventuell sogar verlinkt...) zu werden.
Kann man diese Art des Seitenaufrufes irgendwie verhindern (mittels PHP, HTML, JavaScript...), das heißt, dass diese Seite dann nur über die Homepage und deren eigener Links aufgerufen werden kann?

Danke für alle sachdienlichen Hinweise!

Gruß Peter

  1. Hi Peter,

    Ich rufe in der Adresszeile meines Browsers eine x-beliebige Seite auf, die aber Teil einer Homepage ist und vom Ersteller der Homepage nicht dazu gedacht ist, so aufgerufen (eventuell sogar verlinkt...) zu werden. Kann man diese Art des Seitenaufrufes irgendwie verhindern (mittels PHP, HTML, JavaScript...), das heißt, dass diese Seite dann nur über die Homepage und deren eigener Links aufgerufen werden kann?

    nein, das ließe sich mit dem Referrer bewerkstelligen, wenn dieser zuverlässig wäre. Das ist er aber nicht. Du hast ohnehin dafür zu sorgen, dass deine Besucher beim Aufruf von Frameseiten nicht im Regen stehen.

    http://aktuell.de.selfhtml.org/artikel/phpasp/php-frames/
     http://aktuell.de.selfhtml.org/artikel/javascript/dyn-frames/

    Grüße,
     Roland

    1. Hallo,

      doch, das ist erreichbar mit PHP oder sonstigen active servers.

      • Seitenaufrufe nur über Sessions
      • Seitenaufrufe nur mit ID am Link oder im Hidden-Field

      Der Aufwand für jemanden, der die Seite "einfach irgendwo einbindet" wäre dann enorm hoch.

      Grüße

      Tom

      1. Hi Tom,

        doch, das ist erreichbar mit PHP oder sonstigen active servers.

        das ist aber nicht sinnvoll. Wenn ich eine Seite haben will, will ich diese und keine erzwungene Umleitung auf eine andere.

        Der Aufwand für jemanden, der die Seite "einfach irgendwo einbindet" wäre dann enorm hoch.

        darum ging's nicht. Peter wollte nicht, dass seine Frameseiten verloren gehen. Gegen Framing hilft ein Rechtsanwalt.

        Grüße,
         Roland

        1. Hello,

          darum ging's nicht. Peter wollte nicht, dass seine Frameseiten verloren gehen. Gegen Framing hilft ein Rechtsanwalt.

          Sorry, habe ich nicht so verstanden.
          Ich dachte, er wollte eine technische Lösung jenseits von JavaScript.

          Grüße

          Tom

        2. Hallo Tom und Roland,

          ...danke mal für die Antworten;

          doch, das ist erreichbar mit PHP oder sonstigen active servers.

          Das habe ich "realisierungstechnisch" noch nicht ganz durchdrungen, wie das genau gehen soll und es ließt sich so, als sei es auch für den Ersteller der Homepage mit einigem Aufwand verbunden - das wäre dann aus meiner Sicht doch vermutlich etwas zuviel Aufwand für eine "Hobby"-Homepage.

          Der Aufwand für jemanden, der die Seite "einfach irgendwo einbindet" wäre dann enorm hoch.

          Hört sich gut an, aber siehe oben...

          darum ging's nicht. Peter wollte nicht, dass seine Frameseiten verloren gehen. Gegen Framing hilft ein Rechtsanwalt.

          Doch, darum ging es mir, mit Seiten, die in einem Frame gefangen sind & Co. hab ich keine Probleme... da hast Du mich falsch verstanden bzw. habe ich mich missverständlich ausgedrückt!

          Gruß Peter

          1. Hi,
            ich hab ne Frameset lösung mal gebaut (nur für Testzwecke). Diese folgende Seite wird direkt vom Frameset aus aufgerufen, die den referer "http://www.domain.de" übergibt. Falls nicht, wird auf die Startseite geleitet. Bei mir hat es funktioniert.

            Hier die index.php:

            <FRAMESET cols="0,*">
             <FRAME src="leer.php">
             <FRAME src="main.php">
            </FRAMESET>

            Hier die main.php:

            <?
            if (!isset($HTTP_REFERER) || !($HTTP_REFERER == "http://www.domain.de" || $HTTP_REFERER == "http://www.domain.de/")){header ("LOCATION: http://www.domain.de");}
            else{
            Print "blablabla";
            }
            ?>

            Man sollte hierbei nur noch auf verschiedene Schreibweisen eingehen: Http hTTP usw... Das muß man mit preg_match o.ä. abchecken.
            Wie gesagt, war nur mal ein Versuch, der auch so funktioniert hat.

            1. Hi Fabe,

              if (!isset($HTTP_REFERER) || !($HTTP_REFERER == "http://www.domain.de" || $HTTP_REFERER == "http://www.domain.de/")){header ("LOCATION: http://www.domain.de");}
              else{
              Print "blablabla";
              }
              ?>

              damit schließt du mich aus. Ich habe den Referrer in meinem Browser deaktviert.

              Grüße,
               Roland

              1. Hello,

                damit schließt du mich aus. Ich habe den Referrer in meinem Browser deaktviert.

                Das ist doch Deine eigene Schuld ;-))

                Kannst Du eben die schönen Bildchen nicht sehen.

                Grüße

                Tom

                1. Hi Tom,

                  damit schließt du mich aus. Ich habe den Referrer in meinem Browser deaktviert.

                  Das ist doch Deine eigene Schuld ;-))

                  ja? Erzähle das bitte meinem Administrator...

                  Grüße,
                   Roland

  2. Hallo Peter,

    Kann man diese Art des Seitenaufrufes irgendwie verhindern (mittels PHP, HTML, JavaScript...), das heißt, dass diese Seite dann nur über die Homepage und deren eigener Links aufgerufen werden kann?

    per (sehr aufwändiger) sessionid-lösung kannst du den aufruf verhindern/umleiten.

    einfacher geht es per javascript:
    die top.location.href abfragen und mit deiner domain vergleichen, wenn ungleich, dein frameset als top.location.href aufrufen, (evtl .mit der vorherigen seite als parameter für den entsprechenden frame).
    wenn du willst mit der url der site, die deine seite verlinkt hatte für einen eintrag ins log.
    dann kannst du dem webmaster bei gelegenheit ne nette message schicken. ;-)

    freundl. grüsse aus berlin, Raik

    1. Hallo Raik,

      das hört sich gut an, ich werds trotz dass ich ausgerechnet von javascrit am wenigsten verstehe mal versuchen zu programmieren,

      danke & Gruß von Peter

      Hallo Peter,

      Kann man diese Art des Seitenaufrufes irgendwie verhindern (mittels PHP, HTML, JavaScript...), das heißt, dass diese Seite dann nur über die Homepage und deren eigener Links aufgerufen werden kann?

      per (sehr aufwändiger) sessionid-lösung kannst du den aufruf verhindern/umleiten.

      einfacher geht es per javascript:
      die top.location.href abfragen und mit deiner domain vergleichen, wenn ungleich, dein frameset als top.location.href aufrufen, (evtl .mit der vorherigen seite als parameter für den entsprechenden frame).
      wenn du willst mit der url der site, die deine seite verlinkt hatte für einen eintrag ins log.
      dann kannst du dem webmaster bei gelegenheit ne nette message schicken. ;-)

      freundl. grüsse aus berlin, Raik

      1. Hallo Peter,

        das hört sich gut an, ich werds trotz dass ich ausgerechnet von javascrit am wenigsten verstehe mal versuchen zu programmieren,

        hab ich noch vergessen: so etwas müsstest du auch in selfhtml irgendwo finden. such da mal! ;-)

        freundl. grüsse aus berlin, Raik