.htaccess - Bilder unzugänglich machen
Übersicht Sonstiges
 Sonstiges  Smalltalk
 Smalltalk|   | TheProgrammerBetreff: .htaccess - Bilder unzugänglich machen |  Fr, Okt 26, 2007 17:03 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 |  Fr, Okt 26, 2007 17:09 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 |  Fr, Okt 26, 2007 17:21 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 |  Fr, Okt 26, 2007 18:17 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 |  Fr, Okt 26, 2007 18:53 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 |  Fr, Okt 26, 2007 19:52 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 |  Fr, Okt 26, 2007 19:57 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 |  Fr, Okt 26, 2007 20:49 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 |  Fr, Okt 26, 2007 20:52 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 |  So, Okt 28, 2007 12:38 Antworten mit Zitat   | 
|---|---|---|
| Ah, cool  Es funktioniert. ^^ Da waren bloß ein paar Leerzeichen vor dem <?php... Aber wieso wird jetzt nicht mehr das angezeigt, was nach dem Auslesen des Images kommt? Es wird jetzt nur das Bild angezeigt. edit: Ah, ich habs.  Ich muss also die .php-Datei wie ein Image in HTML laden.   Vielen Dank an euch.    Ich habt mir sehr geholfen. Mfg TheProgrammer | ||
| aktuelles Projekt: The last day of human being | ||
Übersicht
 Sonstiges
 Sonstiges  Smalltalk
 Smalltalk
					Powered by phpBB © 2001 - 2006, phpBB Group
				



