.htaccess - Bilder unzugänglich machen
Übersicht

![]() |
TheProgrammerBetreff: .htaccess - Bilder unzugänglich machen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ![]() Ich wollte mal fragen, ob sich hier jemand mit der .htaccess auskennt. Auf meinem Server sollen bestimmte Dateien (Bilder) unzugänglich gemacht werden, jedoch auf der Homepage angezeigt werden können. Ich hoffe, ihr könnt mir da weiterhelfen. Wäre sehr nett.. ![]() Danke schonmal im Voraus. Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was hat das für einen Sinn? Wenn die Bilder auf der Seite angezeigt werden, hat sie der Browser vorher runtergeladen und sie befinden sich dann auf der Festplatte. Oder der Benutzer macht Rechtsklick->Bild speichern und bekommt sie so auf seinen Rechner.
Du kannst allerdings das Verzeichnis der Bilder unzugänglich machen mit "Deny from all" und dann über ein PHP-Skript das Bild laden. Ist aber genau so sinnfrei. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja.. ich habe viele Bilder in einem Ordner, von denen nur ein bestimmtes angezeigt werden darf. Die anderen sollen sozusagen geheim bleiben.. ^^ Denn wenn man die URL von dem angezeigten Bild hat, kann man auch auf die anderen schließen. Das angezeigte Bild ändert sich auch ständig.
edit: Hmm, wie würde denn das genau aussehen in der .htaccess und im php-script? |
||
aktuelles Projekt: The last day of human being |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde das nur bedingt mit .htaccess machen.
Mach ein PHP-Script, was ein Bild ausliest (mit readfile, aber Achtung: Vorher passende Header ausgeben!) und schütz das komplette Verzeichnis, in welchem die Bilder drin sind per .htaccess. Das Script hat ja trotzdem noch Zugriff auf die Bilder. Nachteil ist allerdings, dass cachen nicht geht. Aber so wie ich dich verstanden habe, muss das auch nicht gehen. EDIT: Das Script ungefähr so: Code: [AUSKLAPPEN] $len = filesize( $pfad );
header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); $ext = substr($pfad ,-4); $ext = strtolower($ext); if($ext==".jpg") header("Content-Type: image/jpeg"); elseif($ext==".png") header("Content-Type: image/png"); else($ext==".gif") header("Content-Type: image/gif"); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$len); readfile( $pfad ); Und die .htaccess... musste mal googlen. Halt alle Zugriffe in einem Verzeichnis sperren. Das Script ist dann halt in einem übergeordneten Verzeichnis. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool, Danke für die Antwort. ![]() Hmm, aber irgendwie werden mir bei dem Skript nur Fehler ausgegeben: Code: [AUSKLAPPEN] Warning: filesize() [function.filesize]: stat failed for /pic/image1.jpg in /home/dubsoft/public_html/index.php on line 51 Warning: Cannot modify header information - headers already sent by (output started at /home/racheex/public_html/index.php:6) in /home/dubsoft/public_html/index.php on line 52 Warning: Cannot modify header information - headers already sent by (output started at /home/racheex/public_html/index.php:6) in /home/dubsoft/public_html/index.php on line 53 Warning: Cannot modify header information - headers already sent by (output started at /home/racheex/public_html/index.php:6) in /home/dubsoft/public_html/index.php on line 54 Warning: Cannot modify header information - headers already sent by (output started at /home/racheex/public_html/index.php:6) in /home/dubsoft/public_html/index.php on line 55 Ich habe nur die ersten 5 Zeilen gelassen, da der Fehler Code: [AUSKLAPPEN] Parse error: syntax error, unexpected T_STRING in /home/dubsoft/public_html/index.php on line 68
kommt, wenn ich alles so lasse. Der Pfad des Bildes stimmt. Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der PHP Code muss ganz am Anfang stehen, da der Header zuerst kommen muss. D.h. es darf kein echo, kein print und kein HTML-Code, auch kein Leerzeichen sein. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm. Der Fehler bleibt:
Code: [AUSKLAPPEN] Parse error: syntax error, unexpected T_STRING in /home/dubsoft/public_html/index.php on line 23
Die Zeile ist diese: Code: [AUSKLAPPEN] header("Content-Type: image/gif");
edit: Hab den Fehler gefunden.. das letzte else muss elseif sein.. ^^ trotzdem kommen immernoch diese Warnungen: Cannot modify header information .. und das Bild wird nicht angezeigt. |
||
aktuelles Projekt: The last day of human being |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nutzt du UTF-8? Öffne die Datei mal mitm Hex-Editor und entferne die Zeichen vor dem <?php am Anfang. Vielleicht gehts dann.
Es ist halt so, du musst die Headerbearbeitung vor dem ersten Senden irgendeines Drecks abgeschlossen haben, sonst hast du ein Problem. Notfalls kannst du auch mit ob_start() und so buffern... |
||
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach aus dem else ein elseif. Sorry, hab da was entfernen wollen, was blöd war zu entfernen. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, cool ![]() edit: Ah, ich habs. ![]() ![]() Vielen Dank an euch. ![]() ![]() ![]() Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group