Dr.Doom
2003-02-18, 23:31:37
Howdy,
folgendes Problem:
Ich möchte eine PHP-Seite/Skript haben, die man nur mit vorheriger Anmeldung betreten kann -> Sessions.
Zusätzlich soll es einen Deeplink-Schutz geben, der direktes Downloaden von Dateien verhindern soll.
Das Nodeeplink-Skript habe ich hier irgendwo im Forum gefunden:
//@session_start();
[...]
$download = $_GET['download'];
$basedir = "/usr/local/WWW/";
$filelist = array(
"file1" => "area1/datei1.zip",
"file2" => "area2/datei2.zip",
"file3" => "area3/datei3.zip"
);
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
header("Content-Type: application/octet-stream");
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
[...]
Das Dumme dabei ist, dass beide "Sachen" (Session/Deeplinkschutz) 'header' verwenden. Sessions alleine, ohne Deeplinkschutz, funktioniert, genauso wie der Deeplinkschutz ohne Sessions funktioniert.
Beides zusammen funktioniert aber NICHT. :(
Wie bekomme ich es hin, dass beides zusammen DOCH funktioniert!?
folgendes Problem:
Ich möchte eine PHP-Seite/Skript haben, die man nur mit vorheriger Anmeldung betreten kann -> Sessions.
Zusätzlich soll es einen Deeplink-Schutz geben, der direktes Downloaden von Dateien verhindern soll.
Das Nodeeplink-Skript habe ich hier irgendwo im Forum gefunden:
//@session_start();
[...]
$download = $_GET['download'];
$basedir = "/usr/local/WWW/";
$filelist = array(
"file1" => "area1/datei1.zip",
"file2" => "area2/datei2.zip",
"file3" => "area3/datei3.zip"
);
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
header("Content-Type: application/octet-stream");
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
[...]
Das Dumme dabei ist, dass beide "Sachen" (Session/Deeplinkschutz) 'header' verwenden. Sessions alleine, ohne Deeplinkschutz, funktioniert, genauso wie der Deeplinkschutz ohne Sessions funktioniert.
Beides zusammen funktioniert aber NICHT. :(
Wie bekomme ich es hin, dass beides zusammen DOCH funktioniert!?