wordpress Bilder Aufruf via htaccess blocken

  • Hallo, Ich hatte vor das direkte aufrufen einer Bilddatei zu unterbinden. Das Ganze soll nur via des Wordpressblogs zugänglich sein. Dazu wurde folgende .htaccess angelegt:

    Ein Aufruf eines Bildes ist aber nach wie vor direkt via z.B.

    https://MYWEBSITE.de/wp-conten…Galleryname/image_047.JPG möglich.
    Gehe ich das Thema falsch an oder übersehe ich etwas?

  • Im Beispiel endet die URL mit .JPG. Sind etwa die Rules case sensitive, d.h. funktioniert's wie gewünscht mit .jpg?

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus

  • Ich vermute, die Überprüfung wurde durch Direktaufruf des Bildes vorgenommen (entweder im Browser oder via curl/wget auf der Kommandozeile)?

    In diesem Fall ist HTTP_REFERER leer, und damit wird die Regel durch die überflüssige/schädliche Zusatzbedingung RewriteCond %{HTTP_REFERER} !^$ ausgehebelt. (Gegenprobe: Das Bild wirklich von einer anderen Domäne MYWEBSITE2 verlinken – dies sollte zur gewünschten Zugriffsverweigerung führen.)

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Auch nach einer Anpassung auf |JPG klappt der Zugriff leider nach wie vor.

    Aufgrund des NC Flags sollte der Fall ja auch abgedeckt sein.

    Die von mir verwendete Dokumentation wurde durch m_ueberall ja bereits verlinkt :) Danke dafür.

    Habe ich hier irgendwo einen Denkfehler?


    Edit:
    Der Test wurde durch direkten Aufruf im Browser getätigt, korrekt.
    Werde das mal ohne die gerade durch m_ueberall erwähnte Zeilte versuchen


    Edit2:
    Danke für die Antworten. Auch der Zugriff von einem anderen webhosting Paket aus ist möglich. Ich konnte hier die URL https://MYWEBSITE/wp-content/gallery/Gallery/047.JPG als Bild auf einem zweiten Wordpress Blog einbinden

  • […] Auch der Zugriff von einem anderen webhosting Paket aus ist möglich. […]

    OK. Die nächste Idee wäre, dass irgendwo "auf dem Weg zum genannten Verzeichnis" eine AllowOverride None-Direktive liegt, welche die gesamte .htaccess-Ausführung deaktivieren würde. (Im Falle von WordPress würde ich dann aber irgendwelche weiteren Seiteneffekte erwarten, das hängt jedoch von der Konfiguration ab.)

    (Sicherheitshalber auch nochmals die Ausgabe von a2enmod rewrite überprüfen?)

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Der kurze Zweizeiler führt zu der gewünschten Funktion. Warum genau das oben nicht funktioniert ist mir aber bis heute nicht klar XD Werde das mal noch weiter testen

    Apache Configuration
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
    RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]