selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Zugriff auf einen Ordner ausserhalb meiner Webseite

Autor: robygo
Datum: 31.01.2014 08:04:09

Hallo Leute,
Ich komme mit dem Zugriff auf einen ausserhalb meiner Webseite angelegten Ordner nicht klar.

Ich habe einen Ordner "Albums" ausserhalb meines "public_html" Verzeichnises  angelegt weil ich diesen vor Zugriffen schützen möchte.

Ich habe in meiner "album.php" folgenden Pfad ohne Erfolg versucht:
<iframe src="../../Albums/album1" frameborder="0" style="height:800px; width:1200px;">
</iframe>

Ich bekomme die Meldung "404 - Datei nicht gefunden".
Ich habe verschiedene Pfadanweisungen ausprobiert, jedoch ohne Erfolg.

Hat jemand eine Idee was ich falsch mache oder einen anderen Lösungsvorschlag?
Besten Dank für eure Hinweise.



Re: Zugriff auf einen Ordner ausserhalb meiner Webseite

Autor: T.Jung
Datum: 31.01.2014 11:25:30

> Ich habe einen Ordner "Albums" ausserhalb meines
> "public_html" Verzeichnises  angelegt
> weil ich diesen vor Zugriffen schützen möchte.
>
> Ich habe in meiner "album.php" folgenden Pfad
> ohne Erfolg versucht:
> <iframe src="../../Albums/album1"
> frameborder="0" style="height:800px;
> width:1200px;">
> </iframe>
>
> Ich bekomme die Meldung "404 - Datei nicht
> gefunden".
> Ich habe verschiedene Pfadanweisungen
> ausprobiert, jedoch ohne Erfolg.
>
> Hat jemand eine Idee was ich falsch mache oder
> einen anderen Lösungsvorschlag?

Der Fehler ist, dass Du eine Datei außerhalb Deines Document Trees anzeigen willst… ;-)

Der Webserver liefert aus Sicherheitsgründen _niemals_ Dateien aus, die außerhalb des entsprechenden Verzeichnisses (bei Dir also "public_html") liegen, jedenfalls nicht per http(s).

Du kannst die komplette Datei aber per PHP einlesen und dann ausgeben lassen. Die Schlüsselbefehle dafür sind fread() und header() mit einem entsprechenden Content-Type.

A propos Content-Type: Was sind das denn für Dateien, die Du da ausgeben willst?

Ein fertiges Code-Beispiel habe ich momentan nicht zur Hand -- evtl. kann ich das später noch nachliefern; kann ich aber nicht versprechen, da ich heute nicht sooo viel Zeit zur Verfügung habe.

Gruß,
Tobias Jung



Re: Zugriff auf einen Ordner ausserhalb meiner Webseite

Autor: robygo
Datum: 01.02.2014 09:53:22

Hallo Tobias,

Recht schönen Dank für Deine Antwort.
In dem Ordner "Album" befinden sich verschiedene Photoalbums die ich mit dem "Jalbum" Tool erstellt habe. Es gibt also da drin ausser den eigentlichen Photos (.jpg) auch Formattierungs- und andere Steuerungs-Dateien.
Struktur ist also Hauptordner "Album" mit Unterordnern "Deutschland", Frankreich", usw.

Ich habe auch versucht den Ordner "Album" innerhalb meiner Webseite (public_html) mit .htaccess zu sichern. Das klappt, sodass nur jemand mit User/Password über http Zutritt hätte.

Wenn ich jedoch mit meiner xxxxx.php Seite auf den .htaccess gesicherten Ordner zugreife, muss User/Pw auch eingeben werden. Das möchte ich verhindern, den die Benutzer werden bereits über eine Login Seite kontrolliert und deshalb wäre eine erneute Abfrage bei jedem aufgerufenen Photoalbum sinnlos.

Für weitere Details wäre ich Dir sehr dankbar da ich kein "Profi" bin und meine Homepage nur als Hobby führe.

Schönen Gruss,
Robert



Re: Zugriff auf einen Ordner ausserhalb meiner Webseite

Autor: T.Jung
Datum: 01.02.2014 15:46:13

> den die Benutzer werden bereits über
> eine Login Seite kontrolliert und deshalb wäre
> eine erneute Abfrage bei jedem aufgerufenen
> Photoalbum sinnlos.

Also meinst Du hier wahrscheinlich einen mit PHP realisierten Login?
Hmmm, tut mit leid, aber unter diesen Umständen habe ich leider auch keine gute Lösung parat.

Meine erste Idee -- die Bilder per PHP einlesen & ausgeben zu lassen und damit den htaccess-Schutz auf den Bilder-Verzeichnissen zu umgehen – würde zwar mit Deinem vorhandenen Login nicht in Konflikt geraten, würde aber bedeuten, dass Du den von jAlbum generierten Quellcode umfangreich nachbearbeiten musst. Und zwar _jedes_mal_, wenn Du auch nur ein einziges Bild hinzufügst und jAlbum den Quellcode neu anlegt.
Das ist nicht nur umständlich, sondern konterkariert auch den Sinn eines solchen Tools, welches einem ja Arbeit _abnehmen_ und nicht zusätzliche Arbeit _verursachen_ soll.

Weiterhin könntest Du die index.html, die jAlbum im jeweiligen Album-Ordner generiert, in index.php umbenennen, und ganz am Anfang (also noch vor dem <!DOCTYPE) jenen PHP-Block reinkopieren, den Du schon haben solltest -- der nämlich überprüft, ob der Besucher eingeloggt ist oder nicht. Auch das müsste Du jedesmal neu machen, aber wenigstens wäre das schnell erledigt.
Aber damit wäre dann nur die Album-Seite geschützt, nicht jedoch die Bilder selbst.
Wenn jemand die Bild-URL da rauskopiert und reicht diese URL weiter, kann sie jeder aufrufen. Ich weiß ja nicht, ob Du auch das verhindern willst. Wäre vielleicht deshalb akzeptabel, weil es einen absolut 100%igen Schutz eh nicht gibt -- denn schließlich können die Benutzer ja auch ihr Passwort weiterreichen, oder sie sichern Deine Bilder erst lokal und stellen sie dann woanders online usw.

Noch eine sehr einfache, aber unschöne Möglichkeit:
Du belässt es beim .htaccess-Schutz der Alben und schreibst in den PHP-geschützten Bereich halt hin, dass dass nach Aufruf eines Albums eine erneute Abfrage erfolgt.

Und letztendlich könntest Du auf jAlbum verzichten und auf eine reine PHP/JavaScript-Lösung ausweichen. Davon findet man ja etliche im Web, und die ließe sich wahrscheinlich mit wenig Aufwand an Deine Bedürfnisse anpassen.

Ansonsten fällt mir da leider nichts ein.
Gruß,
Tobias



Re: Zugriff auf einen Ordner ausserhalb meiner Webseite

Autor: robygo
Datum: 02.02.2014 11:17:15

Hallo Tobias,

Nochmals besten Dank für Deine Bemühungen. Ich werde mir mal Deine vorgeschlagenen Lösungen näher anschauen und sehen was sich am einfachsten realisieren lässt.

Die PHP/JavaScript Lösung dürfte wohl den wenigsten Arbeitsaufwand erfordern.

Viele Grüsse,
Robert