|
|||
Verzeichnis schützen mit php und htaccess
Hallo Zusammen,
und damit gleich zu meinem Anliegen. Auf meiner Website gibt es einen Bereich (Gallerie), der nur von eingeloggten Benutzen zu sehen sein wird. Dies habe ich derzeit schon über ein LoginForm(php) usw. hinbekommen und funktioniert auch soweit. Der Gast meldet sich an und wird dann in die Gallerie weitergeleitet. Die Gallerie (gallerie.php) greift auf den Ordner Bilder zu, in welchem zum eine die Thumbs(für die Links) und die Bilder für die Lightbox liegen. -------------------- Hier die Struktur: "../privat" ->login.html (User loggt sich ein) -->login.php (Daten werden geprüft und Weiterleitung erfolgt) /privat/gallerie -> gallerie.php (Seite enthält Imagelinks (kleine vorschau) die über Lightbox angezeigt werden) Bilder in "..privat/gallerie/Bilder_privat" -------------------- Dies funktioniert bisher auch gut. Die Bilder im Verzeichnis "..privat/gallerie/Bilder_privat " sollen nun gegen einen Zugriff ohne Login geschützt werden, der direkte Zugriff durch direkte Eingabe der URL soll verhindert werden. Wenn ich diesen Ordner mit .htaccess versehe (hab ich getestet), wird der Zugriff von Aussen unterbunden. Jedoch werden damit auch die Vorschaubilder der gallerie.php und die Ausgabe durch die Lightbox unterbunden. Wie kann ich es realisieren, das die .htaccess den Zugriff von Aussen untersagt, jedoch der eingeloggte User die Bilder in der Gallerie sehen kann (Vorschau mit Link) und die Lightbox diese ausgeben kann ??? Vielen Dank im Vorraus für Eure Hilfe. der M. |
Sponsored Links |
Sponsored Links |
|
|||
Hallo,
ich sollte vielleicht erwähnen, dass ich mit php am anfang stehe Zitat:
Müsste ich dann für jedes Bild in der Gallerie den Pfad im Script hinterlegen? Wie gesagt, PHP Anfänger! Danke, der M. |
|
||||
Nein, Du musst keine Pfade hinterlegen.
Beispiel: Im HTML dann so auf die Bilder zeigen: <img src="showpic.php?bild=pfad/zu/deine/bild" ... /> bzw. <a href="showpic.php?bild=pfad/zu/deinem/bild"....> und im PHP dann in der Art (Pseudocode, ungetestet) PHP-Code:
|
|
||||
Sinnvoller weise sollte die showpic.php auch noch überprüfen, ob der User eingeloggt ist. Sonst könnte man die ja auch direkt aufrufen.
Außerdem würde ich nicht den vollständigen Pfad übergeben und auch sicher stellen, dass man nur auf Datein in deinem Bildverzeichnis zugreifen kann. |
|
||||
Zitat:
|
|
|||
Hallo,
also ich krieg das nicht hin. Dafür bin ich in PHP einfach noch nicht genug eingestiegen, eher noch weniger. Aber irgendwie muss es doch ne einfache Lösung geben, die ich mir Stück für Stück nachlesen kann. Ziel soll nur sein, den Zugriff durch direkten Link zu unterbinden und die angemeldeten Nutzer in die Gallerie zu lassen, welche die Bilder aus dem geschützten Verzeichnis bezieht. - Hab es mit Authentifizierung mittels php probiert - bin ich zu unerfahren für - mit dem Vorschlag hier - komm ich auch nicht weiter - ... Mal sehen ob das noch wird, irgendwie,irgendwann. Aber dennoch Dank an Euch, der M. |
|
|||
ich nochmal,
hab nocheinmal gesucht und gesucht. Wäre es denn möglich, der .htaccess direkt mitzuteilen, dass die gallerie.php, welche nur durch login.php erreichbar ist, vollen Zugriff aus das Verzeichnis hat? in etwa so: Code:
AuthUserFile /meine url/htdocs/.htuser AuthGroupFile /dev/null AuthName Intern AuthType Basic <Files * > deny from all </Files> <Files gallerie.php > allow from all </Files> |
|
||||
Das ist auch möglich. Allerdings brauchst du dann keine login.php mehr.
Der Weg ist recht einfach, da du nichts Programieren brauchst, hat aber auch den Nachteil, dass die Benutzerverwaltung recht unbequem ist. Du musst jeden Benutzer samt verschlüsseltem Passwort in die .htuser eintragen. |
Sponsored Links |
|
|||
Hallo,
also könnte das so gehen, nur kann dann die .php, welche ja von login.php kommt ohne weitere Anmeldung die daten abfragen und anzeigen? Hab nochmal die Variante von @uspri übernommen, weiß aber nicht ob diese so korrekt wäre, etwas geändert? Code:
<?php // meine safe.php: hier den geloggten usern erlauben, auf die daten in der gallerie.php zuzugreifen if (!$korrektEingeloggt && !fileHasExtension($angeforderteDatei, array("jpg","png","gif","jpeg","bmp","tif","tiff","svg","ico")) header("location:gallerie.php"); else { ... } 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; } ?> Code:
<img src="safe.php?file=bild.jpg" .../> Code:
<a href="safe.php?file=bild.jpg" .../> Bin mir jedoch nicht sicher, das die Anmeldung, welche die .htaccess auswirft so umgangen wird? der M. Geändert von derM (22.10.2009 um 17:39 Uhr) |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
PHP Login, aber alles außer index.php ist trotzdem erreichbar, wie schützen? | CrAzYLuKe | Serveradministration und serverseitige Scripte | 10 | 09.03.2009 22:43 |
php und htaccess | |SONY| | Serveradministration und serverseitige Scripte | 1 | 19.07.2008 17:52 |
php source schützen | paracelsus | Serveradministration und serverseitige Scripte | 76 | 17.04.2008 13:10 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 19:09 |