Bilderverzeichnis schützen

  • Hallo!

    Ich bin dabei eine Seite mit WP zu erstellen, die nur registrierten Usern zugänglich ist. Darunter befindet sich auch eine Galerie, erstellt mit dem Plugin NextGen Gallery.

    Das Problem ist, das die Bilder über den Direktlink immer noch erreichbar sind. Gibt es irgendwie eine Möglichkeit, per htaccess dies zu verhindern? Also so, dass man das Bild nicht über den Link aufrufen kann, die Galerie aber Zugriff darauf hat? Ich weiß wie man vor Direktverlinkung von externen Seiten schützt, aber da hörts dann auch schon auf.

    Wär toll wenn jemand weiterhelfen kann. :)

    • 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

  • Uff, bin mir nicht sicher. Ich glaube der will auch bloß Direktverlinken verhindern, das pure Anzeigen des Bildes per Link aber ermöglichen.

    Aber könnte man evtl über dieses allow und deny so arbeiten dass man das Bild nur über einen bestimmten Pfad der Galerie aufrufen kann? Also z.b der Pfad der Galerie lautet domain.de/galerie und der des bildes domain.de/wp-content/gallery/bild.jpg und Vorraussetzung zum Anzeigen des Bildes ist dass es über domain.de/galerie aufgerufen wird? Ich probier da mal rum :) Danke schonmal für den Gedankenanstoß :D

    Hmm, klappt nicht. folgendes:

    Code
    <Files *.jpg>
    order deny,allow
    deny from all
    allow from .angis-world.de/xxx/fotoalbum/.
    </Files>

    sperrt alles aus, also auch den angegebenen Pfad. :(

  • Eine Möglichkeit wäre noch, das WP-Anmelde-Cookie abzufragen:

    Apache Configuration
    # Bilder nur für angemeldete Benutzer
    RewriteCond    %{HTTP_COOKIE}    !wordpress_49745e19158d762ac2bed4e6c80d45d0
    RewriteRule ^wp-content/uploads/    -    [F,L]

    Zumindest hätten dann nur Nutzer Zugriff, bei denen das Cookie existiert, die also schon mal angemeldet waren oder noch sind.
    Oder jemand rekonstruiert den Namen und setzt sich so ein Dummy-Cookie, was natürlich möglich ist. Als Gegenmaßnahme könnte man aber einen eigenen Cookie-Namen in der wp-config.php definieren.

    Im Großen und Ganzen sollte es aber den normalen Nutzer fernhalten.

    Das da oben ist nur ein Beispiel, den Cookienamen und das zu schützende Verzeichnis muß man natürlich noch entsprechend anpassen :-)

    Gruß
    Ingo

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

    Einmal editiert, zuletzt von Putzlowitsch (6. Januar 2009 um 16:06)

  • Das mit dem Cookie werd ich mal testen :) wie definier ich denn einen Cookie in der config?

    Momentan überlege ich auf einen Vserver umzusteigen um Zugriff auf den root zu kriegen und Dateien außerhalb des Documentroot ablegen zu können, weil mir gesagt wurde das sei am sichersten. Warte aber noch auf Antwort von meinem hoster ob ich das auch richtig verstanden hab :)

  • Ich weiß nicht, wie es bei älteren Versionen ist, aber ab Wordpress 2.5 gibt es dafür die Konstante AUTH_COOKIE. Das könnte dann in der wp-config.php etwa so aussehen:

    PHP
    define( 'AUTH_COOKIE', 'wordpress_ehz6r7qrq7tcr466rt5q34956q' );


    Normalerweise verwendet WP selbst einen MD5-Hashwert aus der Option 'siteurl'. Das kann ein "Angreifer" natürlich relativ einfach nachbilden.

    Die Dateien außerhalb des Documentroots abzulegen bringt eigentlich auch nicht viel, denn die angemeldeten Nutzer hätten dann auch keinen Zugriff. Man müßte sie dann erst wieder per PHP oder so herausholen.

    Gruß
    Ingo

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

  • Zitat

    Die Dateien außerhalb des Documentroots abzulegen bringt eigentlich auch nicht viel, denn die angemeldeten Nutzer hätten dann auch keinen Zugriff. Man müßte sie dann erst wieder per PHP oder so herausholen.

    Ja, gibt ne Gallery die das kann die auch in WP integrierbar ist. ;)

    Dann werd ich mal ausprobieren ob es bei 2.7 auch noch so geht mit dem Cookie. :)

    Edit: Hmm, scheint nicht zu klappen. Bleibt verboten obwohl eingeloggt. Seltsam.

  • der cookie wird doch so oder so lokal abgelegt, demnach kann man ihn immer leicht nach konstruieren.

    das "verstecken" der Bilder ist nicht sinnvoll. wenn du der urheber bist, gibts rechtliche mittel.

  • 1
    dann können nur noch benutzer mit cookies bilder einsehen (vorallem beim 1. besuch kommt das gut da diese dann noch nicht existieren).

    2
    zudem erstellt wordpress einen solchen cookie nur wenn man eingeloggt ist, oder?

    3
    könnte man dieen dann nicht via htaccess schützen, da der cookie personalisiert ist, ein muster (regex) bringt hier recht wenig


    das vorhaben ist und bleibt unsinnig :)

  • ...
    Ich bin dabei eine Seite mit WP zu erstellen, die nur registrierten Usern zugänglich ist...


    Ich verweise mal auf das Ausgangsproblem.

    Also muß sich der Benutzer sowieso vorher registrieren und anmelden. Wenn er das getan hat, wird ja der Cookie gesetzt. Nicht angemeldete Benutzer sollen eh weder Artikel noch Bilder sehen können.

    Was heißt, der Cookie muß personalisiert sein? Der Cookie hat immer bei allen Nutzern den gleichen Namen, der Inhalt interessiert gar nicht. Genau die Existenz des Authentication-Cookies wird in meinem Beispiel geprüft, mehr nicht. Das funktioniert übrigens ganz wunderbar, ich habe es bei mir natürlich getestet, bevor ich das hier reingeschrieben habe :-)

    Gruß
    Ingo

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

    Einmal editiert, zuletzt von Putzlowitsch (13. Februar 2009 um 21:06)

  • Hallo,
    ich habe das Ganze etwas abgeändert und ausprobiert:

    PHP
    RewriteEngine on
    # Bilder nur für angemeldete Benutzer
    RewriteCond %{HTTP_COOKIE} !hierundinwpveraendert
    RewriteRule \.(gif|jpg|GIF|JPG)$ http://ersatzbild.de/a.jpg [R,L]

    Mein Problem ist jetzt, dass zwar der Cookie gesetzt ist, ich ihn mir auch im Browser anzeigen lassen kann, aber dennoch nur das Ersatzbild angezeigt wird.
    Lösungsvorschläge?
    Ausprobiert mit FF, Chrome, IE || ein/ausgeloggt.

    Mit besten Grüßen - hangman - Lv99.de

Jetzt mitmachen!

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