cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 4
Gäste online: 5
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: [erledigt] Files aus geschützem Download unbrauchbar

Thread: [erledigt] Files aus geschützem Download unbrauchbar


12.01.2008 16:52 Uhr

 

Status: offline
Hallo zusammen,

ich beschäftige mich gerade mit dem Schützen von Dateien vor unerlaubtem Downloaden.

ich möchte nur eingeloggten Usern den Download erlauben, ohne noch mal irgendwo ein Passwort eingeben zu müssen. (wie zB. bei .htaccess)
Auch soll die URL der Dateien unsichtbar bleiben.

Ich habe im Internet gesucht, und bin unter anderem auf diese Lösung gestoßen, die für mich am geeignetsten ist.
http://www.php-faq.de/q/q-datei-download.html

Ich habe das alles angepasst und die Dateien auf den Server geladen. Der Download startet auch, man kann sich die Datei runterladen, aber sie funktioniert dann nicht mehr.

ich habe es mit *.zip und *.pdf ausprobiert, immer ist die heruntergeladene Datei unbrauchbar und lässt sich nicht öffnen.

Wer es mal ausprobieren möchte: hier klicken

hier ist mein Code:
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
// $download sei der Bezeichner für die zu ladende Datei
// etwa: 
$download = $_GET['download'];
 
// Dieses Verzeichnis liegt außerhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/weigandtstudios.de/download";
 
// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
  "file1" => "phpBB2.0.22.zip"
);
 
// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
{
  die("Datei $download ist nicht vorhanden.");
}
 
// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
 
// Passenden Datentyp erzeugen.
header("Content-Type: application/octet-stream");
 
// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
 
// Datei ausgeben.
readfile($filename);
?>
ich versteh nicht, wieso die Datei dann kaputt ist  :question: 

Kann mir da einer helfen?
2 mal bearbeitet
___________________________
... und der Erfolg gibt mir Recht!
12.01.2008 17:08 Uhr

 

Status: offline
Die Datei ist nicht kaputt, sie ist komplett leer (0 Bytes).
Höchstwahrscheinlich wurde sie überhaupt nicht auf dem Server gefunden.
___________________________
Strebe nicht nach Dingen, die auch Dümmeren gelingen
12.01.2008 17:17 Uhr

 

Status: offline
hast recht  :shocked: 
und ich habs vor lauter Frustration gar nicht bemerkt.

dann hab ich garantiert die $basedir falsch.

Hmm, auf jeden Fall danke  :lol: 

Ich such mal nach der richtigen dir...
___________________________
... und der Erfolg gibt mir Recht!
12.01.2008 17:21 Uhr

 

Status: offline
jop
das "/weigandtstudios.de/download";
sieht ziemlich falsch aus....

weil wie du es angegeben hast würdest du auf http://ww.weigandtstudios.de/weigandtstudios.de/download gehen

aber ich denke mal das willst du nicht oO

gib entweder den Pfad absolut an oder relatiev...

LG Jens
___________________________
Meine Homepage:
http://thewebwar.cybton.com/
12.01.2008 17:25 Uhr

 

Status: offline
Der Ordner liegt außerhalb der Document Root des Webservers (haben also keine URL) und sind nur durch PHP zugreifbar.
sonst wären sie ja nicht geschützt, wenn man die URL kennt und direkt auf sie zugreift...
___________________________
... und der Erfolg gibt mir Recht!
12.01.2008 17:32 Uhr

 

Status: offline
Dann musst du den absoluten Pfad angeben -> http://www.bla.com/file.ext

Gruß

//EDIT
Oo sorry - habe es falsch verstanden merke ich im Nachhinein. Wie willsten in den vorherigen Ordner des Root-Verzeichnisses zugreifen?
2 mal bearbeitet
___________________________
Meine CyDOTs
12.01.2008 17:37 Uhr

 

Status: offline
mittels PHP (wie hier beschireben):
http://www.php-faq.de/q/q-datei-download.html

Nur den anzugebenden Pfad kenne ich jetzt nicht, werde ich wohl mal meinen Hoster fragen müssen...
___________________________
... und der Erfolg gibt mir Recht!
12.01.2008 17:43 Uhr

 

bmk
Moderator
Status: offline
... oder in der Ausgabe von phpinfo() nachsehen.
___________________________
Let's code responsibly...
Webcrawler -- Portal für Dirigenten -- Musikverein Königstetten
12.01.2008 17:52 Uhr

 

Status: offline
 :tear:  warum bin ich da nicht selber drauf geommen *kopf-gegen-türrahmen-schlag*

ich hab heute wohl voll den Pfosten vorm Hirn.

@bmk: thx, hab nachgeguckt, eingesetzt und jetzt funktioniert es, vielen vielen Dank an alle

btw: wer ein phpBB 2.0.22 deutsch haben will: *klick*  :lol: 

~close~
___________________________
... und der Erfolg gibt mir Recht!
Ähnliche Threads Forum Ähnlichkeitsgrad
 Fehler mit ISBN in Bücherliste Lob, Kritik, Beschwerden und Wünsche 1
 Mit Javascript Download starten Website & Webprogrammierung 1
 Fehler mit Opera bei der bewertung von Threads Lob, Kritik, Beschwerden und Wünsche 1
 pdf dateien mit vbscript bearbeiten Softwareprogrammierung 1
 Postfix User-Problem Software & Betriebssysteme 1
 [PHP] iCal und PDF mit PHP Website & Webprogrammierung 1
 Download von Quelltexten Lob, Kritik, Beschwerden und Wünsche 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung