.htaccess frage :)
-
tach,
ich habe mich jetzt mal bissle mit .htaccess beschäftigt, konnte aber leider nichts über mein problem finden
habe folgende prob:
/download.php
/files/.htaccess
/files/datei.zipich möchte jetzt das niemand ausser user mit login auf den ordner /files zugreifen können .. das ist einfach .. aber ich möchte ebendfalls mit hilfe der datei donwload.php dateien aus /files laden können ..
in download.php würde dann <a href="files/datei.zip"> stehen ..
geht das und wenn ja wie? für jede hilfe bin ich dankbar, da ich mir schon wolf suche.
mfg
muhkuh
-
Hallo,
so einfach wirst Du das nicht hinbekommen. Zumindest nicht so, daß das nicht zu umgehen ist.
Eine Möglichkeit ist, daß Du einen User mit einem Dummypasswort anlegst und den Link dann auf
http://dummyuser:dummypasswd@www.excample.com/files/datei.zip verlinken läßt.
Aber die Methode läßt sich halt leicht aushebeln.
Über das einrichten von Benutzern und Passwörtern findest Du alles notwendige in der Apache Doku zu dem Thema.
Frank
-
Du solltest nicht auf die Datei direkt verlinken, sondern z.B. auf download.php?file=datei.zip o.ä. und dann im Script die Datei auslesen und an den User senden
-
ich habs schon zu 99% hinbekommen
php liest dateien egal ob diese geschützt sind .. das realisiere ich durch header(), aber irgendwie macht netscape trotz exakter content-type nicht richtig mit .. er hängt bei mir immer zum dateinamen ".php" an .. naja egal .. hat einer nen kleines php script für mich, womit man beliebig grosse dateien an user senden kann und das auch funzt *g* ?das die ganze datei und klappt leider nicht so richtig
<?php
if (file, "rb"))
{
header("Content-Type: " . filetype(file));
header("Content-Disposition: attachment; filename=\""file\\""); fpassthru(fd);
fclose($fd);
}
?>fehler:
bei netscape setzt er immer ".php" hinten dran und dateityp unten ist auch "*.php"
bei IE kommen manchmal irgendwelche übertragungsprotokolle ins html und nachem ich eine datei so geladen habe kann ich auf einen beliebigen link im menü klicken er baut immer die linke grafik nicht mehr auf .. drücke ich danach nochmals auf den link geht es .. also immer wenn ich ne datei so geladen habe wie oben kommt der error beim nächsten klickkann einer weiterhelfen?
-
achja .. ist dieser weg überhaupt zulässig wenn der user 600MB dateien so laden können soll?
-
Falls es funktioniert, ist es nicht sehr sinnvoll, da
1.) dein Script die ganze Zeit mitlaufen müsste
2.) der User z.B. keinen Downloadmanager verwenden kann, um den Download abzubrechen und wieder fortzusetzenmööp schrieb:
ich möchte jetzt das niemand ausser user mit login auf den ordner /files zugreifen können .. das ist einfach .. aber ich möchte ebendfalls mit hilfe der datei donwload.php dateien aus /files laden können ..
in download.php würde dann <a href="files/datei.zip"> stehen ..
Wieso sollte der User für den Download über download.php kein Passwort mehr brauchen
-
na ja du kannst doch checken, ob der user registriert ist (über mysql - abfrage, musst halt gucken ob der sich eingeloggt hat und ob seine daten noch gültig sind, wie ip sid und timeout), und dann, wenn der noch eingeloggt ist bzw. registriert ist, dann gibst du die links aus, ansonsten schreibst du hin: sorry nur für registrierte benutzer zugänglich.
cya
-
Dann kann man aber mit Kenntnis des Links auch ohne Login Sachen runterladen
-
ist zwar kein thema mehr für mich, aber wie ich schon sagte der ordner ist .htaccess geschützt. also kommt dort nur das php script rein und kann laden und das script hat wiederum interne sicherung das nur auth user es starten können.
-
Es ging aber doch darum, dass es bei größeren Files nicht sinnvoll ist, dass alles übers Script laufen zu lassen
-
"Dann kann man aber mit Kenntnis des Links auch ohne Login Sachen runterladen "
ich habe nur damit deine frage beantwortet"1.) dein Script die ganze Zeit mitlaufen müsste "
nani? was solln da mitlaufen?
es wird die datei gelesen und gesendet .. fertig ist das script mit arbeit ..
es ging nur darum, wenn dateien extrem gross sind wie hoch der server belastet wird beim einlesen der datei und obs nen besseren weg gibt.
-
Ich hätte gedacht, dass das Script während fpassthru die ganze Zeit mitläuft (also während des gesamten Downloads) und evtl. dadurch einen Tiomeout verursacht - vielleicht ist dem aber auch gar nicht so