[mod_rewrite] Bilderaufruf blocken aber user_agents nicht *erledigt*

strolch00

redraft.de
ID: 155297
L
21 April 2006
1.684
72
Hi Leuts,

zur Zeit steh ich echt auffer Leitung. Kann man mit mod_rewrite den images Ordner blocken für jegliche Aufrufe außer für Dateien die vom Browser angefordert werden?

Immen wenn ich den per RewriteCond und Rule blocke dann leitet der Browser so wie ich will auf die index um aber der Browser selber kann meine Style´s nicht mehr laden. Auf gut Deutsch meine bisherigen Lösungen blocken alles egal was.

REQUEST_URI, SCRIPT_FILENAME, REQUEST_URL alles schon probiert.
 
Zuletzt bearbeitet:
Kann man mit mod_rewrite den images Ordner blocken für jegliche Aufrufe außer für Dateien die vom Browser angefordert werden?
Ich verstehe die Gesamtfrage zwar nicht komplett, aber, nein, geht nicht.

Woher willst du wissen, wer eine Datei anfordert ? Normalerweise fordert doch immer ein Browser eine Datei (im Bsp.: ein Bild) an.
Oder glaubst du, dass dir jemand per Script dein Bilderverzeichnis runterlädt ? Naja, der würde dann sicherlich auch den UserAgent für einen weitverbreiteten Browser "IE 6.0" mitschicken ;)
 
Ne des net aber ich wollte das images/ vor einsicht schützen. So wie du es mit deinem Frontcontroller gemacht hast. Und wollte daher das direkt aufrufen usw Blocken, nur halt Useragents also style.css dateien für design usw laden lassen.
Ich sperre zb. nun komplett den Browser mit aus sodas der keine styles oder Bilder des Designs laden kann. Und deswegen dachte ich das man das anders machen kann. Es gibt ja auch zb SCRIPT_URL, REQUEST_FILENAME usw. Deswegen habe ich gefragt.
 
Ne des net aber ich wollte das images/ vor einsicht schützen.
Achso, da is ja ein einfaches Problem :)
Gibt viele Ansätze:
  • Erstell einfach ne leere index.html in dem Ordner. <- Primitivlösung, die zu ner leeren Seite führt; also nicht besonders gut, aber schnell
  • Option -Indexes in der .htaccess für das entsprechende Verzeichnis müsste zu HTTP 403 führen.
  • Erstelle eine index.php mit dem Code
    PHP:
    <?php header($_SERVER['SERVER_PROTOCOL']." 403 Forbidden"); ?>
    . Das führt zum selben Resultat wie oben.
So wie du es mit deinem Frontcontroller gemacht hast.
Ich benutze die Variante 3 in meiner obigen Aufzählung.
 
Zuletzt bearbeitet:
OK habe ich gemacht allerdings sehe ich keine Änderung. Naja vielleicht schon später anderes mal nochmal drüberschauen.