Reinhold Geschrieben 31. August 2007 Teilen Geschrieben 31. August 2007 Moin, heute hätte ich mal eine Frage. Auf einem Webserver liegen in Unterverzeichnissen Dateien, im speziellen Bilder und PDF, die aus Datenschutzgründen nicht für jeden sichtbar sein dürfen. Nun gibt es einen Login, anhand dem ich erkennen kann, wer welche Datei sehen darf und wer nicht. Das muss auch möglich sein, klar. Es darf aber nicht möglich sein, über die URL an die Daten heranzukommen, z.B. durch Eingabe von http://www.domain.tld/ordner/bild.jpg Meine Idee war es, das Verzeichnis mit .htaccess zu schützen ("deny from all"). Dann geht das mit der URL auch korrekterweise nicht mehr, aber dann werden die Bilder auch im IMG-Tag nicht mehr angezeigt. Wenn ich über das Dateisystem auf die Bilddatei zugreife, klappt das. Wie müsste ich das machen, das statt <IMG src='ordner/bild.jpg'> etwas wie <IMG src='ShowPic.php?ordner/bild.jpg'> oder so ähnlich funktioniert, ich also in ShowPic.php eine Schnittstelle zur Verfügung stelle. Hat jemand eine Idee? Oder sogar einen Codeschnipsel bzw. ein flaches Beispiel? Das wäre echt prima, ich komme nämlich nicht mehr weiter. Danke im Voraus. Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dennisderweber Geschrieben 31. August 2007 Teilen Geschrieben 31. August 2007 deutlich oversized, aber einfach zu benutzen und mit vielen zusatzmöglichkeiten: phpThumb() - The PHP thumbnail generator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 31. August 2007 Autor Teilen Geschrieben 31. August 2007 Moin, und Danke für die Antwort. deutlich oversized, aber einfach zu benutzen Das sieht erstmal gut und umfangreich aus, aber leider, wie du selber sagst, TOTAL mit der Panzerfaust auf den Spatz geschossen und mit vielen zusatzmöglichkeiten: phpThumb() - The PHP thumbnail generator Möglichkeiten, die ich leider (jedenfalls momentan und auf die Schnelle) nicht benötige. Kannst du mir vielleicht die 3-5 Zeilen darin sagen, die ich brauchen würde. Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dennisderweber Geschrieben 31. August 2007 Teilen Geschrieben 31. August 2007 jupp hier paket runterladen: SourceForge.net: Files auspacken, komplettes verzeichnis in dein projekt speichern, phpthumb.php aufrufen (edit: respektive bild-url angeben) mit: phpthumb.php?src=deinbild.jpg wenn du keine anpassungen in der config machen willst, musst du das bild aus der sicht der phpthumb.php referenzieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 31. August 2007 Teilen Geschrieben 31. August 2007 Hatte das Problem auch mal Vereinfacht: // download.php: Gibt Bilder für alle, andere Dateien jedoch nur für angemeldete Benutzer zurück // Weder berechtigter User, noch Bilddatei? Raus if (!$korrektEingeloggt && !fileHasExtension($angeforderteDatei, array("jpg","png","gif","jpeg","bmp","tif","tiff","svg","ico")) header("location:index.php"); // Datei ausliefern else { ... } // gibt true zurück, wenn die übergebene Datei auf eine der übergebenen Extension endet function fileHasExtension($filename, $extensions) { foreach ($extensions as $ext) { if (strtolower(substr($filename, strlen($filename)-(strlen($ext)+1), strlen($ext)+1)) == ".".strtolower($ext)) return true; } else return false; } }[/PHP] Dann werden Bilder per <img src="download.php?file=foo.jpg" /> auch denen angezeigt, an die sonst keine Dateien ausgeliefert werden dürfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 31. August 2007 Teilen Geschrieben 31. August 2007 ...die Funktion fileHasExtension falsch "zusammengekürzt" -.- Auf ein Neues: // gibt true zurück, wenn die übergebene Datei auf eine der übergebenen Extensions endet function fileHasExtension($filename, $extensions) { foreach ($extensions as $ext) { if (strtolower(substr($filename, strlen($filename)-(strlen($ext)+1), strlen($ext)+1)) == ".".strtolower($ext)) return true; } return false; }[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.