Zugriff auf Image-Ordner per url für nicht angemeldete Benutzer unterbinden

  • Hallo zusammen,


    ich kann folgendes Problem einfach nicht lösen und brauche eure Unterstützung.


    Ich betreue eine Familienseite, die offline gestellt ist, aber mit einem login-Zugang aufgerufen werden kann. Soweit so gut, funktioniert bestens seit über drei Jahren.


    Leider kann bei Weitergabe einer URL auf eine Datei im image-Ordner diese ohne Zugang zur Familienseite aufgerufen werden. Ich möchte das unterbinden und habe bislang folgendes probiert:

    • Einen Testordner im image-Verzeichnis angelegt
    • png-Datei und eine pdf-Datei hineinkopiert
    • in einem Beitrag Bild und pdf-Datei eingebunden.

    Folgende htaccsess-Dateiten getestet:

    1. htaccess
      AuthType Basic
      Require valid-user


      Bild und pdf können bei Weitergabe der URL nicht aufgerufen werden. Aber:

      Frontend: Wenn eine Familienmitglied sich anmeldet und den Beitrag aufruft, sieht er das Bild, kann aber nicht die pdf-Datei aufrufen. Bei Aufruf der pdf-Datei erfolgt Error 500.
      Backend: Beim Editieren des Beitrags wird das Bild nicht angezeigt.
    2. htaccess
      RewriteEngine on
      RewriteCond "%HTTP_REFERER}" "!^$"
      RewriteCond "%{HTTP_REFERER}" "!^http://images\.meineSeite\.de(/.*)?$" [NC]
      RewriteCond "%{HTTP_REFERER}" "!^https://images\.meineSeite\.de(/.*)?$" [NC]
      RewriteRule ^.* - [F]


      Bild kann bei Weitergabe der URL aufgerufen werden. pdf-Datei kann bei Weitergabe der URL nicht aufgerufen werden. Fehlermeldung pdf: Error 404.

      Frontend: Wenn eine Familienmitglied sich anmeldet und den Beitrag aufruft, sieht er das Bild, kann aber nicht die pdf-Datei aufrufen. Fehlermeldung pdf: Error 403.
      Backend: Bild wird nicht angezeigt.

    Für hilfreiche Tipps wäre ich dankbar.

  • Zum Testen habe ich den Ordner images/schutz eingerichtet.


    Folgende Dateien befinden sich in diesem Ordner:

    • 2 Beispieldateien: bild.jpg und mm.pdf
    • readmedia.php
    • .htaccess mit
      RewriteRule ^.*$ readmedia.php [L]

    Der Aufruf der beiden Beispieldatein über die URL wird verhindert (wie gewünscht). Die php-Datei wird aufgerufen.


    ABER:


    Backend: Im Beitrag mit den beiden Beispieldateien wird das Bild nur mit einem Platzhalter angezeigt.


    Frontend: Beim Aufruf des Beitrags im Frontend wird das Bild angezeigt, der Link mit der pdf-Datei kann nicht aufgerufen werden.


    Wer hat eine Idee?