Seite 2 von 2
Re: Das Downloaden von Dateien schützen
Verfasst: 27.06.2009 17:50
von 4seven
Da bleibt aber immer noch das Problem das du mir den Link per ICQ schicken kannst wenn du angemeldet bist und so Zugriff auf die Datei hast.
thats right. den falschen leuten vertrauen wäre hier die lücke
Wenn man eine "Downloader Datei" vorschaltet kannst du mir zwar den Link schicken aber der Download funktioniert bei mir nur wenn ich auch angemeldet bin.
idealerweise noch mit prüfung auf eine berechtigte "download-gruppe" (als i-tüpfelchen)

Re: Das Downloaden von Dateien schützen
Verfasst: 27.06.2009 18:14
von Spaniol
Was ist denn ein Script und wie verwendet man so was?...gott klingt das dämlich...

Re: Das Downloaden von Dateien schützen
Verfasst: 27.06.2009 20:26
von dieweltist
=>
http://www.phpbb.de/community/viewtopic ... 6#p1110086
Dieser Eintrag verhindert den Download, weil der Downloadlink mit d anfängt. Falls der Downloadlink auf einer externen Seite verlinkt ist, funktioniert das Downloaden nicht. Allerdings kann man leider diese Sperre umgehen, indem man die Download-URL direkt in den Browser einfügt.
Re: Das Downloaden von Dateien schützen
Verfasst: 27.06.2009 20:58
von tas2580
So ich hab dir mal kurz was gebastelt, funktioniert allerdings nur für ZIP Dateien.
Lege dir einen Ordner in deinem Forum an (z.B. /dateien/), dann erstellst du dir mit meinem Code eine neue PHP Datei (z.B. download.php) und lädst sie in den neuen Ordner. Wenn du jetzt eine Zip Datei mit dem Namen test1.zip mit in den Ordner lädst kannst du sie über .../dateien/download.php?id=1 runter laden, das funktioniert aber nur für angemeldete Benutzer, Gäste bekommen die Login Box angezeigt. Wenn du jetzt immer nur solche Links raus gibst erfährt niemand wo die Datei wirklich liegt und so kann die Datei auch nur von angemeldeten Benutzern runter geladen werden.
Am Anfang des Scripts kannst du angeben welche Datei welche ID haben soll, ändre das einfach in deine Dateien ab.
Code: Alles auswählen
<?php
// Hier die Dateien angeben die es zum Download geben soll
$files[1] = 'test1.zip'; //download.php?id=1 läd test1.zip runter
$files[2] = 'test2.zip'; //download.php?id=2 läd test2.zip runter
$files[3] = 'test3.zip'; //download.php?id=3 läd test3.zip runter
// Ab hier nichts mehr ändern
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
if ($user->data['user_id'] == ANONYMOUS)
{
login_box('', $user->lang['LOGIN']);
}
$file_id = request_var('id', 0);
header('Content-type: application/octet-stream');
header("Content-Type: zip");
header('Content-disposition: attachment; filename=' . $files[$file_id]);
$handle = fopen($files[$file_id], r);
$contents = fread($handle, filesize($files[$file_id]));
fclose($handle);
echo $contents;
?>
Man könnte das ganze jetzt noch ausbauen und die Rechtevergabe dynamisch machen oder die Datei-Liste in der DB speichern aber das sollte so auch erstmal funktionieren.
Gruß Tobi