Bilder schützen mit mod_rewrite

  • Hallo zusammen,

    hier bin ich auf einen interessanten Ansatz gestoßen, Bilder der eigenen Website via .htaccess gegen Content-Grabber zu schützen:

    Apache Configuration
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC] [OR]
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\.(de|com)(/.*)?$ [NC]
    RewriteRule \.(BMP|JPG|JPEG|GIF|PNG)$ http://upload.wikimedia.org/wikipedia/commons/8/81/Stop_sign.png [R,L]



    Als ich das mit meiner WP-Installation ausprobiert hab, passierte allerdings gar nix, die Bilder ließen sich trotzdem unter anderen Domains einbinden.

    Daher meine Frage: Kollidiert das irgendwie mit den WP-Schreibregeln?

    Würde mich über Eure Anregungen freuen!

    Gruß Alex

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Füg mal bitte auch die Datei-Endungen kleingeschrieben hinzu und dann den Code mal direkt nach RewriteBase /:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Danke für den Tipp!

    So scheint es grundsätzlich zu klappen.

    Was würde eigentlich passieren, wenn die "Stop"-Grafik auf dem eigenen Server liegen würde - würde das hinhauen oder sich selbst aushebeln?

  • da müsstest du dann die Grafik in einen eigenen Ordner packen und in diesem Ordner wieder eine .htaccess reinpacken, die den Zugriff auf diese Datei erlaubt. Ich glaub so in der Art:

    Code
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC]

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Das hab ich jetzt nicht ausprobiert - aber hat die übergeordnete .htaccess im root nicht Vorrang?

    Ist aber nicht so wichtig, ich hab mir ganz einfach mit einer Dummy-Subdomain beholfen, auf der ich das Bild ablege.

    Eine andere Frage: Wenn ich weitere Referer zulassen möchte, kann ich dann einfach die Zeile 3 klonen? Die Bildersuche von Google wird z.B. immer noch ausgesperrt, vermutlich weil der Aufruf von images.google.de kommt.

    Mich irritiert nämlich noch das fehlende [OR] in Deiner Version (Zeile 2) ...

    Gruß Alex

  • Wenn kein [OR] steht wird imho ein AND genommen. Mehrere Referer sind natürlich kein Problem:

    Apache Configuration
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\.(de|com)(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?images\.google\.de(/.*)?$ [NC]
    RewriteRule \.(bmp|jpg|jpeg|gif|png|BMP|JPG|JPEG|GIF|PNG)$ http://upload.wikimedia.org/wikipedia/commons/8/81/Stop_sign.png [R,L]

    Achso, statt einer Ersatzgrafik kannst du auch einfach ein Forbidden übergeben:

    Apache Configuration
    RewriteRule \.(gif|jpg|png|pdf|zip|GIF|JPG|PNG|PDF|ZIP)$ - [F]

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (9. September 2009 um 10:36)

  • Da hab ich dann mal eine Verständnisfrage:

    Wenn ein AND angenommen wird, würd ich das so verstehen, dass alle Conds zutreffen müssen, damit die Ersatzgrafik greift, oder?

    Das wär aber doch nie der Fall, oder versteh ich das falsch?

  • Sorry, so'n richtiger .htaccess-Guru bin ich auch nicht :mrgreen: . Ich weiß nicht, ob ein OR zwingend notwendig ist, hab aber grad das noch gefunden: http://www.trafficklau.de/htaccess.html

    Vielleicht kann hier einer noch für Aufklärung sorgen :???:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Der "Trick" bei dem AND ist, daß die einzelnen Bedingungen mit dem "!" negiert werden. Natürlichsprachlich könnte man sagen:
    Ist der Referer nicht leer und ist der Referer nicht die eigene Domain und ist der Referer nicht Google ..., dann zeige das Ersatzbild an.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

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