Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Grundstruktur eines Downloadscripts
22.11.2007, 09:41
Beitrag: #1
Grundstruktur eines Downloadscripts
Hallo Forum,

ich bin mal wieder. Ich habe mal eine theoretische Frage an euch. Wie ist eigentlich der Grundlegende Aufbau von einem Downloadscript. Ich möchte nämlich ein Downloadscript schreiben und stehe von dem Problem, dass ich nicht weiß wie man es angeht, wenn man den Downloadpfad verschlüsseln möchte. Ich weiß nicht ob das Wort verschlüsseln richtig ist, aber ich meine damit, dass der User den Pfad zur Datei nicht sieht und darauf verlinken kann.

Ich hatte daran gedacht, die Pfade in ein Array zu speichern und dann nur Links zu verschicken, wie wie folgend lauten:

http://www.mydomain.at/getfile.php?downID=12

Dann wollte ich mit der 12 aus dem Array den Pfad hohlen. Aber dann habe ich ja wieder das problem, dass der dann trotzdem den ganzen Pfad an den Client weiter schickt.

Wie würdet ihr das Problem lösen? Wie wird so etwas normalerweiße gelößt?
Ich bedanke mich für die Antworten schon mal im Vorraus, da ich sicher bin, dass sie hilfreich werden.

Gruß
Sam

"Es gibt 9 Millionen Terroristen auf der Welt und ich muss an einen geraten, der kleinere Füße hat als meine Schwester."

John McClane
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.11.2007, 13:58 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2007 14:01 von dino.)
Beitrag: #2
RE: Grundstruktur eines Downloadscripts
Huhu,
also du musst den Pfad ja nicht übergeben, wenn du jetzt dein Array, oder eine Datenbank mit den "richtigen" Pfaden hast und eine ID aufrufst, in deinem Beispiel die 12, kannst du die Datei doch von php einlesen lassen und dann mit den entprechenden Headern, die z.B. den Mime-Typ beinhalten zurückgeben.
So ist für den Client dein Script die Datei, ähnlich funktioniert das ja auch mit Captchas, die aus einer PHP-Datei mit entsprechenden Headern erstellt werden, ohne das es eine Bilddatei gibt.

Jenachdem wie viel Aufwand dir dein Script wert ist, kannst du den "richtigen" Pfad auch noch weiter sichern indem du ihn täglich/wöchentlich änderst, ein Cronjob würde dann ein eine PHP-Datei ausführen, die Beispielsweise den Ordner oder die Datei umbennent, als Name wäre z.B. sowas möglich:
Code:
md5($dateiname.time()); // den Dateinamen (z.b. aus einer DB) verknüpft mit dem aktuellen datum und per md5 verschlüsselt
Selbst wenn jetzt jemand den orginalen Pfad ermitteln würde, wäre dieser nur maximal 24 stunden gültig. Wenn du jetzt nichtmal einen richtigen Cronjob verwendest, sondern deine Besucher ausnutzt indem einfach überprüft wird, ob das Script heute bereits ausgeführt wurde und falls nicht es ausgeführt wird, ist es fast unmöglich den originalen Dateinamen herauszufinden, da der erste Besucher ja zu unterschiedlichen Zeiten deine Seite besuchen kann, mal wird dort 9:25:31 verwendet, mal 4:11:54, jenachdem wann das Script ausgeführt wird.

MFG
Axel

http://www.axel-wahlen.de
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.11.2007, 00:05
Beitrag: #3
RE: Grundstruktur eines Downloadscripts
Hallo dino,

danke für deine Antwort. Das klingt sehr vielversprechend. Leider weiß ich über die header nur, dass die vor allem anderen übergeben werden. Ich werde mich da mal einlesen und das Script dann posten damit ihr mir dan sagen könnt ob das so richtig ist.

Vielen Dank
Sam

"Es gibt 9 Millionen Terroristen auf der Welt und ich muss an einen geraten, der kleinere Füße hat als meine Schwester."

John McClane
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.11.2007, 14:20
Beitrag: #4
RE: Grundstruktur eines Downloadscripts
Ja, das stimmt, wenn du einen header senden möchtest, darf vorher nichts anderes ausgegeben (an den Client gesendet) worden sein, das könntest aber relativ leicht umgehen in dem du die Ausgabe pufferst, du rufst am anfang den Scripts einfach
PHP-Code:
ob_start(); 
auf, dann kannst du jederzeit einen Header senden.

MFG
Axel

http://www.axel-wahlen.de
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Überschreiben eines einzelnen Arrayelemants Hanni 1 214 22.08.2007 07:47
Letzter Beitrag: White

Gehe zu:

KontaktWebhilfe.infoNach obenZum InhaltArchiv-ModusRSS-Synchronisation