Frames der eigenen Webseite schützen, so geht es

  • wie funktioniert das genau, mit .htaccess ?


    Hallo...


    Da ich auf meiner Webseite auch Frames benutze und das Problem habe, das direkt auf Seiten innerhalb Frames gelinkt wird, wollte ich die o.g. Lösung mit der .htaccess Datei umsetzen.
    Ich habe mir die angegebenen Links durchgeschaut und versucht mir die passende .htaccess Datei "zu basteln" - leider nicht mit dem gewünschten Erfolg, da ich kaum entsprechende Kentnisse habe. :confused:
    Wäre schön, wenn mir vielleicht jemand weitere Quellen zu diesem Thema schicken würde (googeln brachte immer nur den sog. passwortschutz mit .htaccess), oder - wenn's keine Mühe macht, direkt eine "Beispiel-Datei" Posten würde. :)


    gruß Boris

  • Hi,


    da gäbe es noch eine Möglichkeit, einem "Framedieb" den Link zu dem Frame zu verbieten indem man mit folgendem Script die Domain ignoriert und auf eine andere Seite weiterleitet:


    Wer von den Links kommt, die in der Variable invalidreferrals stehen, wird mit einer Meldung zu google weitergeleitet.


    Solche Seiten haben auch schon auf meine Unterseiten gelinkt, die unerkenntlich gemacht wurden, damit nicht rausgefunden werden kann, auf welcher Seite die gelinkten Bilder/Seiten geklaut werden. Anscheinend muss es ein Script geben, was den referrer manipuliert und in die Homepage eingebaut wird. Normalerweise müsste http://www.... anstatt xxxx:+++... da stehen.


    <SCRIPT LANGUAGE="JavaScript">
    <!--
    /*
    */
    var invalidreferrals=new Array()
    invalidreferrals[0]="XXXX:+++++++++++++++++++"
    invalidreferrals[1]="XXXX:++++++++++++++++++++++"


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


    Anstatt des abzuweisenden xxxx:+++++++ kann man auch die URL eintragen wovon Unterseiten gelinkt werden.


    cu Dirk

  • DocB


    Kurzanleitung für einen Verzeichnisschutz mit einer einzigen berechtigten Username/Passwort-Kombination:


    1. erstelle eine .htpasswd-Datei, in der der gewünschte Benutzer enthalten ist:
    htpasswd -c .htpasswd MeinBenutzer MeinPasswort
    (wenn Du das Passwort auf der Kommandozeile weglässt, fragt htpasswd Dich interaktiv danach)


    2. lege die Datei .htpasswd auf dem Webserver ab (wenn es möglich ist, am besten ausserhalb der Webroot) und setze die Rechte so, dass der Webserver sie lesen kann. Für das Beispiel sei der Pfad /home/user01234/.htpasswd


    3. Erstelle eine Datei namens .htaccess mit folgendem Inhalt:
    # Es gibt auch AuthType Digest (sicherer), dieser wird aber nur von wenigen Browsern unterstützt
    AuthType Basic
    # Der AuthName kann von Dir frei gewählt werden
    AuthName "Mein geschuetzter Bereich"
    AuthUserFile /home/user01234/.htpasswd
    require user MeinBenutzer


    4. Lege die .htaccess-Datei in das zu schützende Verzeichnis auf dem Webserver. Wenn dieser diese Dateien hinsichtlich Verzeichnisschutz auswertet, dann müssen Benutzer die Kombi MeinBenutzer/MeinPasswort zum Zugriff auf das Verzeichnisses und alle seine Unterverzeichnisse angeben.


    Detailliertere Infos finden sich z.B. auf http://httpd.apache.org/docs/howto/auth.html bzw. http://httpd.apache.org/docs-2.0/howto/auth.html


    Gruß
    Michael

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

  • strassl & Michael: Es geht um Referrer-bedingte Serverseitige Umleitungen mittels .htaccess. Nicht um Verzeichnisschutz oder Javascript umleitungen.


    DocB: Jetzt hab ich nochwas rausgesucht. Falls du einen Server 500 Error bekommst, erlaubt dein Anbieter vermutlich keine -htaccess files. Bitte so nicht einsetzen, ohne es getestet und angepasst zu haben.


    Code
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?meineDomain\.de.*$ [NC]
    RewriteCond %{REQUEST_URI} !^.*(index.html|gif|jpg|jpeg|png)$ [NC]
    RewriteRule .* index.html [L,R]
    </IfModule>


    OHNE GEWÄHR, da ichs gerade so aus dem Kopf geschrieben habe. Die erste Cond checkt ob der Referrer nicht leer ist, falls ja nächste Zeile. Das zweite Cond checkt dann ob der Referrer von deiner Domain ist (mit und ohne http://www.). Falls das auch nicht der Fall ist, checkt das dritte Cond ob die index.html oder eine Datei die auf gif oder jpg etc. endet aufgerufen worden ist. Falls das auch nicht der Fall ist, wird jede (!) andere Anfrage auf die index.html umgeleitet. Es wird also angenommen, dass alle Dateien im Hauptverzeichnis liegen.


    Alternativ kanns du noch das dritte Cond anpassen indem du nicht negativ die index.html überprüfst, sondern positiv (also ohne das !) alle Unterseiten dort einträgst. Für genaueres siehe einfach nochmal in die Apache-Dokumentation (link oben).

  • Zitat

    Original geschrieben von R. U. Serious
      strassl & Michael: Es geht um Referrer-bedingte Serverseitige Umleitungen mittels .htaccess. Nicht um Verzeichnisschutz oder Javascript umleitungen.


    Stimmt, Du hast Recht, wer lesen kann ist klar im Vorteil... hätte doch nochmal nach oben schauen und nicht gleich nur den neuesten Beitrag lesen sollen ;-)

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

  • Hi...
    Erst mal danke für die schnelle Hilfe! :)
    Der "aus den Kopf" geschriebene Testcode zeigt nach kurzen Anpassungen noch keine Änderung und nach lägerem editieren einen Server 500 Fehler (liegt aber nicht am Server, sondern an mir :rolleyes: ). Werd' mich heute Abend nochmal in die Apache Dokumentation einlesen, wird dann bestimmt was... ;)


    gruß Boris

Jetzt mitmachen!

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