Achim: Verzeichnisse vor direktem aufruf schützten

Hallo,

ich habe eine Website gebastelt die einen recht großen internen Bereich hat. Die Anmeldung habe ich über eine Session realisiert und auch in alle php-files in allen Unterverzeichnissen die abfrage eingebaut.

So ganz zufrieden bin ich noch nicht...
Wenn man den Pfad kennt kann man die Bilder direkt aufrufen das will ich aber natürlich nicht...
Gibts da ne Möglickeit? Hab mal an htaccess gedacht aber selbst wenn ich den Zugrff nur für den localhost erlaube werden dann keine Bilder mehr aufgebaut...
Mach ich da was falsch? Gibts ne andere Lösung?

NOch zur Info: Ich habe nicht die Möglichkeit die geschützten Sachen ausserhalb des Webspaces abzulegen...

jmd ne idee?

Gruß Achim

  1. per htaccess den zugriff auf das verzeichnis komplett verbieten, dann per php das bild ausgeben (php greift ja nicht über den webserver sondern direkt auf die lokalen dateien zu, somit "wirkt" htaccess hier nicht, wird ja vom server ausgeführt), alles was du dafür brauchst ist der entsprechende header und readfile()

    http://de.php.net/header
    siehe z.b. das beispiel http://de.php.net/manual/en/function.header.php#61903

    1. Hui ich hab mir die Links mal durchgelesen aber nur jedes dritte Wort verstanden...

      Kann mal wer ein kleines Beispiel posten wie das geht? wie ich den Aufruf per .htaccess schütze ich klar aber wie rufe ich dann sagen wir mal ein Bild in einem Verzeichnis wo die .htaccess drin liegt von einem übergeordneten Verzeicnis aus?

      Gruß Achim

      1. Kann mal wer ein kleines Beispiel posten wie das geht? wie ich den Aufruf per .htaccess schütze ich klar aber wie rufe ich dann sagen wir mal ein Bild in einem Verzeichnis wo die .htaccess drin liegt von einem übergeordneten Verzeicnis aus?

        beim zugriff per php kannst du die htaccess ignorieren, falls dass bei dir das problem darstellt.
        dann erstellt du einfach ne bild.php die nix macht außer die nötigen header (stehn in den kommentaren!) sendet und haust dann n readfile("pfad/bild.jpg"); drunter. das kannste dann normal einbinden, <img src="bild.php?bild=bild.jpg">