Frames der eigenen Webseite schützen, so geht es

  • Hi,


    ich habe ein kleines Java Script mit dem es möglich ist die Frames bzw. Unterseiten der eigenen Homepage zu schützen, so das die Unterseite nur von der dazu bestimmten Homepage aufgerufen werden kann da es immer mal wieder Leute gibt, die eine Unterseite einer fremden Homepage in ihre einbauen und die Besucher denken, der Frame gehört zur fremden Seite.


    Beispiel:


    Index.htm Seite1.htm (lässt sich nur von http://www.x.de/Index.htm aufrufen)


    Das Script muss in die Unterseite z.b. seite1.htm eingebaut werden.
    Das x ist duch die Domain zu ersetzen.
    Wenn jetzt jemand die Seite1.htm als frame in seine Seite einbindet, wird eine Fehlermeldung ausgegeben in diesem Fall "Diese Seite können Sie leider nicht aufrufen" und zu google weitergeleitet (kann beliebig geändert werden.


    Wenn auf die Unterseite von mehreren Seiten Zugegriffen werden soll, einfach unter das validreferrals[0]..... mit aufsteigender Nummer mehrere dieser Variablen setzen.


    <SCRIPT>
    <!--
    var validreferrals=new Array()
    validreferrals[0]="http://www.x.de/index.htm"
    var passed=0
    for (r=0;r<validreferrals.length;r++){
    if (document.referrer.indexOf(validreferrals[r])!=-1){
    passed=1
    break
    }
    }
    if (passed==0){
    alert("Diese Seite können Sie leider nicht aufrufen");
    (location.href="http://www.google.de/")
    history.go(-1)
    }
    //-->
    </SCRIPT>



    Das script hat bei mir schon gute Zwecke erfüllt.


    cu Dirk

  • und was machen user, die keine referer-angabe liefern? die kriegen die seite überhaupt nicht zu gesicht?
    oder wenn ich einen bookmark auf die seite setze?

    !ND - E71

  • Zitat

    Original geschrieben von !ND
    oder wenn ich einen bookmark auf die seite setze?


    Wenn man die Seite Bookmarkt diese jedoch nicht aufgerufen werden kann könnte man jedoch eine Umleitung wie bei mir mit dem Beispiel http://www.google.de genannt auf die Hauptseite umleiten.

  • Hi allerseits,


    eine Alternative stellen "Befreiungsskripte" dar, die ihre Seite in den Toplevel holen, bzw. ihr korrektes Frameset nachladen, wenn sie in ein fremdes Frameset geladen werden.


    Dann wird Dein Benutzer nicht abgewiesen (schliesslich willst Du ja, dass jemand Deine Seiten anschaut :)), und der "Seitendieb" hat das Nachsehen.


    Ciao
    Michael

    History: Motorola e930, t720, RAZR V3, MOTORAZR maxx V6, MOTOROKR Z6, MOTOROKR E8, MOTOZINE ZN5, Samsung S8000 Jet

  • Soviel Java mus doch nicht sein, einen ganze Seite klaut eh keiner normal, wenn dann einzelne Codezeilen. Aber wen ihr sowas machen wolt, dan ist es mit .htaccess das beste, oder ihr nehmt PHP oder ASP.

  • Ich würde schon die Sache mit dem JavaScript bevorzugen.
    Mit .htaccess wäre ziemlich schlecht umzusetzten, denn man will ja seine seite schützen und dem User keine Passwortabfrage zumuten. Oder hab ich das jetzt falsch verstanden?


    Zu PHP&Co: find ich auch nicht gerad die beste Lösung, da man kaum auf den User eingehen kann, bzw das Laden des richtigen Framesets geht auch nur mit JavaScript.
    Wiso die Last dem Server geben, wenns der Client viel leichter kann?


    Wers ganz sicher haben will, der soll sich ein System aus .htaccess, PHP und JavaScript zusammenbauen, damit ist höchste Sicherheit und Benutzerintegration möglich.

  • Mit einer .htaccess kann man Einstellung und Funktionsweise des Webservers steuern. Man kann also nicht nur Basic-Authentification (Passwortschutz), sondern auch viele andere Dinge machen. In diesem Zusammenhang bspw. eine Prüfung des Referers und eine anschliessende Um-/Weiterleitung mittels mod_rewrite. Falls man Zugriff darauf hat, ist das sicherlich die effizienteste und schnellste Methode.


    Mittels PHP (oder einer anderen Serverseitigen Skriptsprache) könnte man es mit einem header-redirect und $HTTP_SERVER_VARS['HTTP_REFERER'] IMHO am elegantesten Lösen, da man im Gegensatz zu einer htaccess-lösung auf der zurückgegebenen Seite Bezug nehmen kann auf die Umleitung, bspw. mit einem Hinweistext und einen Link zurück oder auf die ursprünglich angewählte Seite.


    Javascript ist die schli[/e]chteste Lösung, da sie nur bei eingeschalteten Javascript funktioniert und ausserdem erst nach dem Laden der Seite ausgeführt wird, sprich dem Surfer wird zugemutet doppelt solange zu warten.


    Wenn möglich würde ich mich für Lösung eins oder zwei entscheiden.

  • Wenn ich das ursprüngliche Posting richtig verstanden habe geht es eigentlich darum zu verhindern, dass fremde Sites eine eigene Seite in ihr Frameset einbinden.


    Alle vorgeschlagenen Lösungen, die ein Betrachten der eigenen Seite verhindern (sei es nun per Passwortschutz -- der dann allerdings auch die regulären Benutzer trifft --, oder per Prüfung des HTTP_REFERER via mod_rewrite, PHP oder JavaScript -- hier ist, wie R.U.Serious bereits dargestellt hat, eine serverseitige Lösung "besser", allerdings dürften viele Provider die nötigen technischen Infrastrukturen zumindest bei kostengünstigeren Webspace-Angeboten nicht zur Verfügung stellen) haben jedoch einen Nachteil: Sie halten Besucher von der eigenen Seite fern.


    Ferner blockt eine Prüfung des HTTP_REFERER möglicherweise sogar ein paar erwünschte Besucher -- manche Firewalls oder Browser filtern den HTTP_REFERER aus dem HTTP Request heraus (ferner kann er auch "gefälscht" werden, was aber im gegebenen Zusammenhang nicht relevant ist).


    Unter der Annahme, dass wir möglichst viele Besucher für unsere Site wollen, bietet sich daher ein JavaScript an, das ggf. ein fremdes umgebendes Frameset erkennt und entfernt. Bei dieser Lösung müssten wir damit leben, dass, sollte der Client JavaScript deaktiviert haben, in diesem Fall unsere Seite eben doch im fremdem Frameset angezeigt wird (das dürfte jedoch nur ein sehr geringer Anteil der Besucher sein). Und dass unsere Seite, sofern versucht wird, sie in ein fremdes Frameset zu laden, dann nochmals geladen wird, müssen wir ebenfalls hinnehmen (nun ja... wie wahrscheinlich ist es, dass unser Angebot in fremden Framesets geladen werden soll?). Dafür bekommt aber auch jeder unser eigenes Werk zu sehen.


    Wie so üblich sollte man sich zuerst die Frage "Was wollen wir eigentlich?" stellen, aus der sich dann die geeignetste Lösung ergibt... man will gar nicht glauben, wie oft dies bei der Softwareentwicklung missachtet wird (das liegt aber oft schon daran, dass der Kunde nicht genau weiss, was er eigentlich will, sondern sich dies erst während der Entwicklung herauskristallisiert).

    History: Motorola e930, t720, RAZR V3, MOTORAZR maxx V6, MOTOROKR Z6, MOTOROKR E8, MOTOZINE ZN5, Samsung S8000 Jet

  • Ich halte das Selbstbefreiungsscript auch für am besten. Wenn jemand Seiten oder Quelltext (... DAU vorausgesetzt) so kommt man kostenlos zu neuen Visits.


    Meiner Meinung nach wird dieses Thema sich erst noch richtig entwickeln. Insbesondere wenn man mit Seiten wirklich Geld verdienen kann.

    Was nicht auf Wahrheit aufgebaut ist, kann sich nur durch Gewalt und Tücke aufrecht erhalten.
    Henri Barbusse *1873

  • Auswerten von Logfiles.


    Frames habe ich Gottseidank abgeschafft, den ohne Richtiges Coding der Page, hast Du schnell Probleme, wenn Deine Seite von Suchmaschinen her aufgerufen wird. Oft zeigt es nur den Inhalt Frame, und Deine Navigation fehlt.


    Gut hierfür gibt es auch Codeschnipsel, aber im Endefekt versuch ich Frames wegzulassen.


    Am besten wäre das Auswerten von Logfiles, was auch zu einer guten Administration gehört.
    Hier siehst Du, von welchen Seite aus Deine Page aufgerufen wird.


    Der Vorteil, Du weißt das jemand Deine Seite, oder Bilder mitbenutzt, und kannst die notwendigen Schritte einleiten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!