Hallo,
ich habe ein eigenes CMS programmiert und dazu ein Script, mit dem man Dateien aus geschützten Verzeichnissen downloaden kann. Da mein CMS einen Header sendet und auch das Script ein Header sendet habe ich ob_start() und ob_end_flush() verwendet. Wenn ich über get ein File aufrufe kann ich es nur downloaden, wenn ich in dem if nicht prüfe, ob der user eingeloggt ist. Wenn ich doch in dem if prüfe ob der user eingeloggt ist, dann schmeißt er mich aus dem Internen Bereich raus und wenn ich mich wieder einloge, dann kann ich die Dateien runterladen. Das ist doch sehr komisch und ich habe schon alles, à la google etc, durchsucht.
Hier mal ein Code ausschnitt:
Ich hoffe, ihr könnt mir helfen
Gruß Botze
ich habe ein eigenes CMS programmiert und dazu ein Script, mit dem man Dateien aus geschützten Verzeichnissen downloaden kann. Da mein CMS einen Header sendet und auch das Script ein Header sendet habe ich ob_start() und ob_end_flush() verwendet. Wenn ich über get ein File aufrufe kann ich es nur downloaden, wenn ich in dem if nicht prüfe, ob der user eingeloggt ist. Wenn ich doch in dem if prüfe ob der user eingeloggt ist, dann schmeißt er mich aus dem Internen Bereich raus und wenn ich mich wieder einloge, dann kann ich die Dateien runterladen. Das ist doch sehr komisch und ich habe schon alles, à la google etc, durchsucht.
Hier mal ein Code ausschnitt:
PHP:
//______________________________________________________________________________
//Icludierte DAteien
include_once "includes/globale_funct.inc.php";
include_once("includes/seite.class.php");
include_once("includes/download.class.php");
include_once("includes/user.class.php");
//LAYOUT - Header und LAyoutoben
OB_START();
define('SCRIPTNAME', $seite->url);
//Funktion die den Header baut
echo globaler_header($seite->title, "");
//Holt sich das Layout
echo globallayoutoben($seite->data['subject'], $seite->data['name'], SCRIPTNAME, $user->id_group);
//Die Funktion holt sich die Datei vom Server
//So wird die Datei erfolgreich zum Download angeboten
if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) {
// if($user->angemeldet && !empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) {
// mit der If Anweisung schmeißt er mich aus dem Internen Bereich ... aber wieso?!
if(file_exists ($dir.$_GET['file'])) {
makeDownload($_GET['file'], $dir, $type);
}
}
//Inhalt
// Prüft ob der User eingeloggt ist
if($user->angemeldet){
//... Internes Zeug :-)
} else {
echo "Sie sind nicht eingeloggt.";
}
//Inhalt Ende
// Seitenfooter
ob_end_flush();
echo globaler_footer();
//Seitenende
Ich hoffe, ihr könnt mir helfen
Gruß Botze