Forenindex » Programmierung/Entwicklung » PHP und MySQL » download protected file?

download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 19:02
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo,

ich habe ein kleines problem mit einem download skript.

$file=download.pdf
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=downloadedfile.pdf");
readfile($file);

dies war mein erster ansatz. wie kann ich es erreichen, dass ich ein file aus einem anderen ordner (darunterliegend und geschützt) auslesen kann? die .chm hilfe konnte mir nicht wirklich weiterhelfen.

hat jemand ne gute idee?

gruss Pozor

(Dieser Beitrag wurde von Pozor am 20. Okt 2003, 19:33 geändert)

download protected file?

SabineP
Beiträge gesamt: 7586

20. Okt 2003, 21:24
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hallo Pozor, für den Download einer Datei brauchst Du kein Script.
Dafür reicht doch ein normaler Link auf die Datei.
Was verstehst Du unter "geschützter Download" ?
Du kannst ein Verzeichnis mit allen enthaltenen Dateien
per .htaccess serverseitig mit einem Benutzername und Passwort schützen.
Meinst Du das?

Gruß Sabine

download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 21:46
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo Sabine,

ich möchte, dass diese Files (Vertraulich!!!) nicht von jedem einsehbar sind. meine idee wäre, dass ein direktlink nicht möglich ist. also nur wer sich bei mir enloggen kann, sollte zugriff auf diese files haben.
eine einfache möglichkeit ist ein par ordner mit kryptischen namen zu erstellen und die datei per header readfile auszugeben, so kann man die url nicht rückverfolgen.
mir wäre es aber lieber, wenn diese files in einem geschütztem bereich liegen (z.B. mit htaccess) und ich aber diese files per skript ausgeben kann (pdf's). Die berechtigung ist dann meine sache.

Kann man ganze files auch in der db speichern (BLOB?)? wenn ja ist dies sinnvoll??? vorteile/nachteile?

gruss Pozor

(Dieser Beitrag wurde von Pozor am 20. Okt 2003, 21:55 geändert)

download protected file?

SabineP
Beiträge gesamt: 7586

20. Okt 2003, 22:05
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hallo Pozor,
>>dass ein direktlink nicht möglich ist. also nur wer sich bei mir enloggen kann, sollte zugriff auf diese files haben.

Dann ist der Verzeichnisschutz per .htaccess und .htpasswd genau richtig.
Es dürfen nur die User die Datei lesen, deren Username bekannt ist und die ihr Passwort kennen.

>>einfache möglichkeit ist eifach ein par ordner mit kryptischen namen zu erstellen
Damit ist die Datei nicht geschützt, jeder der die URL kennt kann sich auch die Datei ansehen.
In den Bookmarks, in der History, auf dem Proxy-Server kann man diese "geheime" URL einfach "nachlesen".

>>und ich aber diese files per skript ausgeben
Du machst es Dir wirklich schwer.
Der mime-Typ application/pdf dürfte dem Webserver schon bekannt sein,
denn der steht bereits in der Konfigurationsdatei des Webservers.
Beim Apache, ist das die Datei conf/mime.types

Ansonnsten kannst Du den mime-Typ auch in die .htaccess eintragen, falls er in der mime.types noch nicht steht.

Dieser mime-Typ wird vom Apache an den Browser bereits übermittelt, wenn ein User eine URL aufruft in der Form:
http://www.example.com/beispiel.pdf

Wozu also das php-Script?

Gruß Sabine



download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 22:42
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo Sabine,

ich glaube wir schreiben aneinander vorbei.

ich möchte:

ein user loggt sich bei meiner seite ein (alles in der db user passwd etc)

nun soll er ohne weitere angaben von passwörter die vertraulichen files downloaden können.

es sollen also nur berechtigte user sich diese files downloaden können.

mit htaccess geht dies nicht! da muss man so oder so ein benutzername und ein passwort eingeben.

>>Damit ist die Datei nicht geschützt, jeder der die URL kennt kann sich auch die Datei ansehen.
In den Bookmarks, in der History, auf dem Proxy-Server kann man diese "geheime" URL einfach "nachlesen".

wie schon gesagt, wenn ich es mittels header, readfile ausgebe, ist die url doch nicht ersichtlich! ich erzwinge so im browser ein download fenster, dort sieht man den host (zb business.boelsterli.biz), aber nicht in welchen unterverzeichnissen die datei steht. dies ist so, weil readfile nur die datei in den outbuffer legt, egal von wo sie kommt. so kann nicht mehr rückverfolgt werden, vo wo die datei kahm. (jedenfalls für die, die das skript nicht kennen)
wenn ich mich da irre dann korrigiere mich bitte.



also meine grund idee ist, es soll sich der user einmal einloggen, und sich dann auf meiner seite frei bewegen, files downloaden ohne weitere passwörter eigeben zu müssen.


gruss Pozor

Nachtrag: wenn jemand die genaue adresse kennt, kann er natürlich auf diese Files ansehen, doch wie hoch ist die wahrscheinlichkeit, dass jemand zb diesen ordner herausfindet:
url/lksdlkhsafbakjzgcbgs
das sind 26^20 Möglichkeiten (19'928'148'895'209'409'152'340'197'376) wie der ordner heissen kann, zusätzlich kennt er aber nicht die länge des ordners.

(Dieser Beitrag wurde von Pozor am 20. Okt 2003, 22:46 geändert)

download protected file?

shopprofi.de
Beiträge gesamt: 61

20. Okt 2003, 23:10
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hi,

readfile(kompletter_serverpfad/$file);

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 23:30
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo shopprofi,

soweit bin ich schon lange.

trotzdem danke für dein bemühen

gruss Pozor

download protected file?

shopprofi.de
Beiträge gesamt: 61

20. Okt 2003, 23:38
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hi,

und was geht dann nicht?

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 23:41
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo shopprofi,

es funktioniert schon so wies du beschrieben hast,
doch lies doch mal die vorhergehenden beiträge genau durch, dann siehst du um was es mir geht.

gruss Pozor

download protected file?

shopprofi.de
Beiträge gesamt: 61

20. Okt 2003, 23:44
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hi,

hab ich gelesen.

Files liegen in nicht öffentl. sichtbarem Verz. und werden per readfile(Serverpfad zur Datei) ausgegeben.

Wo ist das Problem? :)

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

20. Okt 2003, 23:53
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo shopprofi,

das dies funktioniert wird hier ja gar nicht angezweifelt,
es geht hier um die idee wie ich sowas auch anders machen könnte.
z.B.:
die files in einer db speichern und von dort aus ausgeben.

eine frage von mir war ob es auch sonst irgendwie möglich ist files zu schützen (richtig, nicht nur pseudomässig mit einem nicht öffentlich sichtbarem verzeichniss) ohne htaccess oder auch mit aber ohne das dies der user bemerkt (ohne zusätzliche passwortabfrage etc.)


dies ist bis jetzt noch nicht zufriedenstellend beantwortet worden.

gruss Pozor

(Dieser Beitrag wurde von Pozor am 20. Okt 2003, 23:53 geändert)

download protected file?

shopprofi.de
Beiträge gesamt: 61

20. Okt 2003, 23:57
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hi,

Files in DB würden die DB sicher endlos aufblähen.

Wenn du eine htaccess in ein Verz. legst, jedoch per Script in das Verz. wechselst (über den Serverpfad), muss doch niemand nochmals ein PW eingeben. Weiß nicht was da noch sicherer und einfacher gehen soll.

Alternativ kann man auch ein Verz. außerhalb des WWW-Verz. anlegen, also ein Verz. was überhautp nicht per WWW erreichbar ist, sofern der Hoster das unterstützt.

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

21. Okt 2003, 00:03
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo,

ich habe es probiert mit readfile. das skript leigt im verzechniss x die gelesene datei liegt im verzeichniss x/y. y ist per htaccess geschützt. wenn die datei gelesen wird, wird ein passwort verlangt.

gruss pozor

download protected file?

shopprofi.de
Beiträge gesamt: 61

21. Okt 2003, 00:10
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
Hi,

sollte laufen:

http://shopprofi.de/test.php liest aus http://shopprofi.de/read/ eine Datei.

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

21. Okt 2003, 00:11
Bewertung:

gelesen: 6310

Beitrag als Lesezeichen
hallo,

??? mach mal ein jpg oder pdf rein. und dies
header("Content-Disposition: attachment; filename=downloadedfile.pdf");

so erzwing man den Downloaddialog... (was ich möchte).

!!!: kann es sein wenn readfile es nur ausgibt (ohne den erzwungenen dialog) dass es ohne zusätzliche passwd abfrage geht?

gruss Pozor

(Dieser Beitrag wurde von Pozor am 21. Okt 2003, 00:15 geändert)

download protected file?

shopprofi.de
Beiträge gesamt: 61

21. Okt 2003, 00:18
Bewertung:

gelesen: 793

Beitrag als Lesezeichen
Hi,

is drin :)

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

21. Okt 2003, 00:25
Bewertung:

gelesen: 793

Beitrag als Lesezeichen
hallo,

ja habs gesehen.
Authorization Required in /home/boelster/public_html/developer_stuff/testdownload.php on line 21
dies ist die fehlermeldung die ich erhalte, wenn ich auf ein geschütztes verzeichniss mit readfile zugreifen möchte. wenns nicht geschützt ist tuts! ???

gruss Pozor

download protected file?

shopprofi.de
Beiträge gesamt: 61

21. Okt 2003, 00:33
Bewertung:

gelesen: 793

Beitrag als Lesezeichen
Hi,

http://shopprofi.de/test2.php dann noch per Downloadfenster.

Hmm, is eigenartig, ich kenn das eig. nur so. Frag doch mal beim Hoster nach, vielleicht hat das seinen Grund das er das nicht unterstützt.

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting

download protected file?

Pozor
Beiträge gesamt: 892

21. Okt 2003, 12:52
Bewertung:

gelesen: 793

Beitrag als Lesezeichen
hallo,

das problem ist folgendes:

Das PHP-Modul ist als CGI (Server API) eingebettet.
Dies hat zur Folge, dass php auch die .htaccess berücksichtigt, weil es als eigenständiger User agiert. Nun müsste man diesen User kennen und ihm die Rechte geben in dem entsprechendem Verzeichniss zu lesen/schreiben.
Jedoch kenne ich Ihn nicht (der der den server aufgesetzt hat kennt den usernamen).

Eine noch viel einfachere/bessere Lösung des Problems ist:
Ein Ordner ausserhalb des public_html (Web) Verzeichnisses erstellen. So kann niemand per web auf diese daten zugreifen, es ist aber per php möglich auf verzeichnisse ausserhalb des public_html Verzeichnisses zuzugreifen.

Gruss Pozor

download protected file?

shopprofi.de
Beiträge gesamt: 61

21. Okt 2003, 15:19
Bewertung:

gelesen: 793

Beitrag als Lesezeichen
Hi,

das hat nichts mit der PHP-Einbindung als CGI-Modul zu tun, hab das eben nochmals getestet, läuft dort analog zum Apache-Modul.

Die Lösung "Ordner ausserhalb des WWW-Verz." hatte ich ja auch vorgeschlagen, ist nur nicht bei jedem Hoster möglich.

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting