remuen: Erkennen, wer PHP-Seite mit iframe eingebunden hat

Hallo

Ich möchte eine meiner Seiten anderen Websites kostenlos zum Einbinden zur Verfügung stellen, z.B. mittels dem HTML-Tag iframe (Beispiel: <iframe src="http://www.nak-badragaz.ch/xy.php" frameborder="0" width="95%" height="1000" scrolling="no"></iframe>).

Damit meine Seite nicht in x-beliebige Websites eingebunden werden kann, möchte ich überprüfen, von wo (welchem Account) aus sie aufgerufen wird - ähnlich wie das z.B. bei Gästebüchern oder Countern gemacht wird. Ich gehe dabei davon aus, dass einige der Websites, die meine Seite einbinden dürfen, weder PHP, Perl, CGI, ASP etc. zur Verfügung haben.

Ist diese Kontrolle möglich und wenn ja, wie?

Danke für jeden Hinweis und/oder Link.

Gruss

René

  1. Hello,

    die Kontrolle ist nur bedingt möglich.
    Du könntest den Referer abfragen mittels Script. Wenn er richtig ist, die Datei ausliefern. Wenn keiner geliefert wird, oder der Referer falsch ist, eine Ersatzseite anbieten.

    Wenn Deine Inhalte so interessant sind, kann man ja seinen Referer anschalten. Sonst hast Du eben Pech gehabt.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hallo,

      Wenn Deine Inhalte so interessant sind, kann man ja seinen Referer anschalten. Sonst hast Du eben Pech gehabt.

      Das ist ja genau die Krux: Wenn ich mir meine Logfiles anschaue, haben wohl an die 50% der Besucher keinen Referer. Die Inhalte (ein Quiz) dieser Seite sind sicher für manche Besucher interessant, jedoch dürfte es ziemlich unrealistisch sein, zuerst das Anschalten des Referers zu verlangen ...

      Gibt es keinen anderen Weg?

      Gruss
      René

      1. Hello,

        Gibt es keinen anderen Weg?

        Authentification
        Sessions mit und ohne

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    2. Hallo,

      Wenn Deine Inhalte so interessant sind, kann man ja seinen Referer anschalten. Sonst hast Du eben Pech gehabt.

      Nicht alle Benutzer haben die Kontrolle ueber ihren Datenverkehr.
      Z.B. gibt es in Firmen auch Firewalls, die Referrer ausfiltern.

      Einen leeren Referrer wuerde ich nie mit Zugangsverbot "bestrafen",
      einen falschen dagegen schon.

      Gruesse,

      Thomas
        der eine .htaccess-Loesung verwendet, um ein paar
        unwichtige Bilder vor beepworld-Teenagern zu schuetzen.

  2. Hallo,

    Ich möchte eine meiner Seiten anderen Websites kostenlos zum Einbinden zur Verfügung stellen, z.B. mittels dem HTML-Tag iframe (Beispiel: <iframe src="http://www.nak-badragaz.ch/xy.php" frameborder="0" width="95%" height="1000" scrolling="no"></iframe>).

    Den Referrer kriegst Du in PHP mit der Variablen
    $_SERVER["HTTP_REFERER"]

    Ich weiss von Grafiken her, dass der Browser, wenn er vom
    Server eine Grafik verlangt, sagt: "Ich komme von der und
    der Seite (Referrer), bitte schick mir die Grafik xyz.jpg".
    Ich vermute, dass das bei IFRAME auch so ist, dass also
    die URL der "aeusseren" (einbettenden) Seite im Referrer
    steht beim Abruf der mit IFRAME eingebundenen Seite.

    Guck einfach mal ins Logfile Deines Webservers.
    Oder bau irgendwo im PHP folgende Zeilen ein,
    welche den Referrer in einen HTML-Kommentar schreiben:

    $herkunft=htmlspecialchars($_SERVER["HTTP_REFERER"]);
    echo "<!-- Referrer: [$herkunft] -->\n";

    Der Referrer wird von manchen Browsern nicht mitgeliefert,
    oder er wird unterwegs irgendwo zwischen dem Browser und
    dem Webserver rausgefiltert oder sogar gefaelscht, z.B.
    durch WebWasher, Firewalls, Proxies...

    Er ist also keine zuverlaessige Basis fuer Entscheidungen.

    Damit meine Seite nicht in x-beliebige Websites eingebunden werden kann, möchte ich überprüfen, von wo (welchem Account) aus sie aufgerufen wird [...]

    Du kannst Dich nicht richtig schuetzen.
    Was im Quelltext einer Seite steht, kann irgendwer abschreiben.
    Auch mit IDs u.s.w. kannst Du nie sicher sein, dass die
    Datei effektiv dort eingebunden wurde, wo Du moechtest.

    Ein Ansatz waere:

    Die Anzeige ist grundsaetzlich "verboten".
    Wenn der Referrer leer ist, oder wenn er in einem
    von Dir definierten Set von URLs enthalten ist,
    dann ist der Zugriff "erlaubt".

    Gruesse,

    Thomas

    1. Hallo Thomas

      Guck einfach mal ins Logfile Deines Webservers.

      Der Referer wird bei Verwendung von iframe mitgeliefert und ich könnte ihn auch auswerten, jedoch ...

      ... der Referrer wird von manchen Browsern nicht mitgeliefert,
      oder er wird unterwegs irgendwo zwischen dem Browser und
      dem Webserver rausgefiltert oder sogar gefaelscht, z.B.
      durch WebWasher, Firewalls, Proxies...

      Er ist also keine zuverlaessige Basis fuer Entscheidungen.

      Das ist eben mein Problem. Und ich möchte ja nicht den unschuldigen Besucher der Website, die meine Seite mit meiner Erlaubnis einbindet, büssen lassen, sondern eigentlich den Webmaster, der meine Seite einbinden will, blöd dastehen lassen, weil die Seite nicht angezeigt wird (oder mit einem anderen Inhalt).

      Kommt mir gerade ein Gedanke: Kann ich allenfalls auf dem Account der Website, die meine Seite einbinden will, das Vorhandensein eines bestimmten Kontrollfiles überprüfen, wenn meine Seite aufgerufen wird? Ich sehe zwar auch da wiederum keinen Weg, das zu prüfen ...

      Also, nur um das klarzustellen: Die Lösung dieses Problems ist nicht lebenswichtig, aber schön wäre, es lösen zu können ...

      Gruss

      René

      1. Hallo Rene,

        Kommt mir gerade ein Gedanke: Kann ich allenfalls auf dem Account der Website, die meine Seite einbinden will, das Vorhandensein eines bestimmten Kontrollfiles überprüfen, wenn meine Seite aufgerufen wird? Ich sehe zwar auch da wiederum keinen Weg, das zu prüfen ...

        PHP kann auch als Client ("Browser") taetig sein, d.h.
        von einem anderen Server eine Datei per HTTP anfordern,
        z.B. mit fsockopen()
        Aber eben: Es steht und faellt mit dem Referrer,
        zu erfahren, wo die Leute herkommen.

        Also, nur um das klarzustellen: Die Lösung dieses Problems ist nicht lebenswichtig, aber schön wäre, es lösen zu können ...

        Eine etwas zuverlaessigere "Loesung" waere hoechstens
        moeglich, wenn auch die fremden Seiten dynamisch
        generiert wuerden.
        Dann koenntest Du irgendwo versteckt ein regelmaessig
        wechselndes "Passwort" anbieten, das als Parameter
        an die URL der iframe-Seite angehaengt werden muss.
        Natuerlich ist auch dieser Paramter durch Analyse
        des Quelltexts maschinell auslesbar, aber diesen
        Aufwand wuerde wohl kaum jemand auf sich nehmen.

        --

        Eine Loesung, an die bisher niemand gedacht hat:
        Appelliere an die Fairness und das Rechtsempfinden
        der fremden "Webmaster".
        Schreib klar hin, dass das Framen der Seite nur
        mit Deinem schriftlichen Einverstaendnis erlaubt ist.

        Das Framen von fremden Seiten ohne Erlaubnis ist
        nicht nur unfair, sondern wahrscheinlich auch
        ein Verstoss gegen das Urheberrecht.
        (Mir sind noch keine Schweizer Gerichtsurteile dazu
        bekannt, aber AFAIK gab es in Deutschland schon
        einiges zum Thema. Umsomehr erstaunt es mich, dass
        freenet.de (extra kein Link) die Suchresultate immer noch
        im eigenen Frameset anzeigt. _Das_ waere doch mal
        was fuer die arbeitslosen Abmahn-Anwaelte...)

        Gruesse,

        Thomas

        1. Hi Thomas,

          Aber eben: Es steht und faellt mit dem Referrer,
          zu erfahren, wo die Leute herkommen.

          Womit der Kreis wieder geschlossen wäre ... ;-)

          Eine etwas zuverlaessigere "Loesung" waere hoechstens
          moeglich, wenn auch die fremden Seiten dynamisch
          generiert wuerden.

          Davon kann ich vermutlich nicht ausgehen, denn die Seiten, die ich so unterstütze, tendenziell wohl meist Billig-Hostingangebote ohne PHP-Unterstützung etc. nutzen

          Eine Loesung, an die bisher niemand gedacht hat:
          Appelliere an die Fairness und das Rechtsempfinden
          der fremden "Webmaster".
          Schreib klar hin, dass das Framen der Seite nur
          mit Deinem schriftlichen Einverstaendnis erlaubt ist.

          Doch, daran habe ich schon gedacht (siehe Beispielseite auf http://remuen.home.solnet.ch/bibelquiz. Vertrauen ist gut, Kontrolle jedoch immer noch besser.
          Also werde ich dann wohl gelegentlich einen Blick ins Logfile des Servers werfen müssen, da ja glücklicherweise noch ab und zu jemand seinen Referer vorweist ;-)

          Das Framen von fremden Seiten ohne Erlaubnis ist
          nicht nur unfair, sondern wahrscheinlich auch
          ein Verstoss gegen das Urheberrecht.

          Und trotzdem wird's immer wieder gemacht, meist wohl von phantasielosen, faulen Leuten, bei denen vermutlich sonst noch einiges nicht stimmt :-(

          Herzlichen Dank und Grüsse aus der meist nebelfreien, jedoch z.Zt. eiskalten Ostschweiz.

          René

          PS: Hab vorhin fast das gleiche Posting abgeschickt. Das ist jedoch im forum einfach nicht erschienen ?????