• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Download von Dateien nur von bestimmter Seite zulassen

Status
Für weitere Antworten geschlossen.

jesus_heiland

Neues Mitglied
Sali zusammen
Ich möchte eine webseite einrichten, die es mir erlaubt irgendwelche dateien auf meinem server (kilu.de) zu speichern. (nicht per ftp) da der zugriff auf diese dateien natürlich nur auserwählten ermöglicht sein soll, dachte ich an einen loginbereich, realisiert mit php. während die dateien auf dem server gespeichert sind erhalten sie irgendwelche kryptischen namen.
nun zu meiner eigentlichen frage:
wenn nun jemand diese kryptischen namen herausfindet, kann er die dateien ja ganz einfach runterladen. gibt es daher irgendeine möglichkeit, den download von dateien (oder ganzem verzeichnis) zu verbieten und nur den zugriff von einer bestimmten seite zuzulassen?
habe es bisher mit deny from all und allow from meinesubdomain.kilu.de/download.php in einer .htaccess datei versucht, klappt aber nicht.
habe keine erfahrung mit so geschützten bereichen und so zeugs, wäre daher auch offen für andere vorschläge, was die umsetzung betrifft.
 
Du könntest - nur als Variante außerhalb der Serverkonfiguration - ein PHP-Script anlegen, dass die Datei ausliefert (Stichwort content-Headers), wenn eine gültige Session vorliegt. Die Dateien selbst legst Du dann außerhalb des wwwroot.

// achso: ist auch beliebig erweiterbar, wenn Du z.B. dann den Bildnamen auf Dein PHP-Script rewritest.
 
danke für die antwort. habe diese mehtode schon versucht, jedoch ohne auslieferndes php skript im nicht www ordner. aber auch wenn ich ein skript ausserhalb des www bereichs anlege, muss ich ja aus dem www ordner heraus auf den übergeordneten bereich zugreifen und dieses auslieferungsskript starten. ist dies grundsätzlich möglich?
ich hoffe die frage ist noch verständlich...
 
Nein, ich hatte das anders gemeint.

wwwroot/bild.php
images/image1.png
images/image2.png
images/...

Jetzt möchtest Du image1.png anzeigen, aber nur, wenn jemand eine gültige Session hat.

Das bedeutet, du ruft z.B. bild.php?image=image1.png auf. Dann checkst Du in bild.php, ob eine gültige Session besteht. Wenn ja, dann liest Du per PHP das Bild image1.png ein und lieferst es an den Web-Browser aus. Existiert keine gültige Session, dann gibst du ein Forbidden zurück.
 
klappt nicht. ich kann mit www/bild.php nicht auf /img/bild.jpg zugreifen, wenn sich /img/bild.jpg ausserhalb des www bereichs befindet.
 
möchtest Du evtl. die Fehlermeldung zeigen? Wie greifst Du darauf zu? Solche vagen Aussagen helfen bei der Problemlösung leider nur wenig.
 
oha, das scheint geklappt zu haben.
habe nun

header("Content-Disposition; attachement; etc...")
readfile()...

verwendet und somit klappts.

danke für die hilfe.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben