0) { $REQUEST_URI=$SCRIPT_NAME.'?'; $i=0; foreach($_GET as $key=>$val) { if ($i>0) { $REQUEST_URI.='&'; } $REQUEST_URI.=$key.'='.URLEncode($val); $i++; } } else { $REQUEST_URI=$SCRIPT_NAME; } $_SERVER['REQUEST_URI'] = $REQUEST_URI; } $SCRIPT_NAME=substr($SCRIPT_NAME,strrpos($SCRIPT_NAME,'/')+1); // Notfall-Fix gegen Cheaterei if (substr($SCRIPT_NAME,strrpos($SCRIPT_NAME,".php"))!=".php" || strpos($PATH_INFO,".php")){ echo('
Schutzverletzung!
Verarbeitung abgebrochen. Ein Log mit einer Problembeschreibung wurde angefertigt!
'); $int_acctid = (int)$session['user']['acctid']; systemlog('Ungültiger Scriptaufruf: SCRIPT_NAME -> '.$SCRIPT_NAME.'; PATH_INFO -> '.$PATH_INFO.'; REQUEST_URI -> '.$req_uri_ori.'; -> Verdacht auf Cheatversuch?',$int_acctid); exit(); } unset($req_uri_ori); if (strpos($REQUEST_URI,'?')) { $REQUEST_URI=$SCRIPT_NAME.substr($REQUEST_URI,strpos($REQUEST_URI,'?')); } else { $REQUEST_URI=$SCRIPT_NAME; } // RELOADSTOP if(!$session['loggedin']) { if( $BOOL_JS_HTTP_REQUEST ){ jslib_http_command('timeout'); } if($SCRIPT_NAME == 'index.php' && $SCRIPT_NAME != 'source.php') { $timediff = time() - $_COOKIE['lasthit']; if( $timediff < RELOAD_STOP_TIME ) { include_once('reload_stop.php'); exit; } setcookie('lasthit',time(),strtotime(date('r').'+365 days')); } elseif($SCRIPT_NAME == 'login.php') // Probleme bei falscher Passworteingabe etc. { setcookie('lasthit',0,strtotime(date('r').'+365 days')); } } // END RELOADSTOP $session['lastip']=$REMOTE_ADDR; if (strlen($_COOKIE['lgi'])<32) { if (strlen($session['uniqueid'])<32) { $u=md5(microtime()); setcookie('lgi',$u,strtotime(date('r').'+365 days')); $_COOKIE['lgi']=$u; $session['uniqueid']=$u; } else { setcookie('lgi',$session['uniqueid'],strtotime(date('r').'+365 days')); } } else { $session['uniqueid']=$_COOKIE['lgi']; } $revertsession=$session; if (time() - getsetting('LOGINTIMEOUT',900) > $session['lasthit'] && $session['lasthit']>0 && ($session['loggedin'] && !$session['user']['superuser']>0)) { //force the abandoning of the session when the user should have been sent to the fields. //echo "Session abandon:".(strtotime("now")-$session[lasthit]); Atrahor::clearSession(); $session['message'].='`nDeine Session ist abgelaufen!`n'; } // DEBUG if(!isset($session['req_debug'])) { $session['req_debug'] = array(); } if(count($session['req_debug']) > 50) { array_shift($session['req_debug']); } array_push($session['req_debug'],$REQUEST_URI); // NAVS checken, User laden. // Einstellungsarrays nun in nav.lib! if ($session['loggedin'] && (int)$session['user']['acctid']) { setcookie('lasthit',0,strtotime(date('r').'+365 days')); // ACCOUNT laden //user_load($session['user']['acctid']); $Char = new CCharacter( $session['user']['acctid'], true ); if ( !user_get_online(0,$session['user'],true) ) { // Abgelaufene Sessions ausloggen; dabei diese als abgelaufen markieren, damit sie nicht in den Feldern aufwachen // wahrscheinl. nicht nötig, da loggedin noch auf 1 steht, was die gleiche Wirkung hat. //$session['user']['restatloc'] = USER_RESTATLOC_TIMEOUT; Atrahor::clearSession(); if( $BOOL_JS_HTTP_REQUEST ){ jslib_http_command('timeout'); } else{ //die('Account ist nicht eingeloggt, aber die Session denkt, er ist es.'); redirect('index.php?op=timeout','Account ist nicht eingeloggt, aber die Session denkt, er ist es.', false); } } // Aktualisiere Laston $session['user']['laston'] = date('Y-m-d H:i:s'); if ($session['allowednavs'][$REQUEST_URI] && !$allownonnav[$SCRIPT_NAME]) { if( !$DONT_OVERWRITE_NAV ){ $session['allowednavs']=array(); } } else { $badnav = true; if( isset($session['allowednavs']['preg']) ){ foreach( $session['allowednavs']['preg'] as $navi ){ if(preg_match($navi,$REQUEST_URI)){ $badnav = false; if( !$DONT_OVERWRITE_NAV ){ $session['allowednavs']=array(); } break; } } } if ($badnav && !$allownonnav[$SCRIPT_NAME]) { if( $BOOL_JS_HTTP_REQUEST ){ if( count($session['allowednavs'])==1 && $session['allowednavs']['newday.php'] ){ jslib_http_command('newday'); } else{ jslib_http_command('badnav'); } } else{ redirect('badnav.php','Navigation auf '.$REQUEST_URI.' nicht erlaubt'); } } } //section des user zurücksetzen if( !$BOOL_JS_HTTP_REQUEST && $SCRIPT_NAME!='badnav.php' && !$allownonnav[$SCRIPT_NAME]){ $session['user']['chat_section'] = ''; } if ($session['user']['imprisoned']==-5 && $session['user']['alive']) // Stadtwachen RPG-Einkerkerung { $session['user']['imprisoned']=1; if( $BOOL_JS_HTTP_REQUEST ){ addnav('','prison.php'); saveuser(); jslib_http_command('prison'); } else{ redirect('prison.php'); } } // Auf unbestimmte Zeit im Kerker if ($session['user']['imprisoned']==-2) { $session['user']['imprisoned']=-1; if( $BOOL_JS_HTTP_REQUEST ){ addnav('','prison.php'); saveuser(); jslib_http_command('prison'); } else{ redirect('prison.php'); } } // Mails abrufen, wenn HTTP_REQUEST und portal checken $g_str_execute = ''; if($BOOL_JS_HTTP_REQUEST) { /*if($session['user']['chat_section'] == '__portal_dead__'){ //db_query('UPDATE accounts SET allowednavs="'.addslashes(serialize(array('portals.php?dead_portal=1'=>true))).'" WHERE acctid='.$session['user']['acctid'] ); //$g_str_execute = '/go portals.php?dead_portal=1'; }*/ if($session['user']['httpreq_flag'] & HTTPREQ_FLAG_NEW_MAIL) { if ($session['user']['prefs']['minimail']) { $g_str_execute = '/exec document.getElementById("MAILBOXLINK").innerHTML = "'.addslashes(maillink(true)).'"; document.getElementById("MINILINK").innerHTML = "'.addslashes(minimail(true)).'";'; } else { $g_str_execute = '/exec document.getElementById("MAILBOXLINK").innerHTML = "'.addslashes(maillink(true)).'";'; } $session['user']['httpreq_flag'] = $session['user']['httpreq_flag'] ^ HTTPREQ_FLAG_NEW_MAIL; user_update(array('httpreq_flag'=>$session['user']['httpreq_flag']),$session['user']['acctid']); } } } else { if (!$allowanonymous[$SCRIPT_NAME]) { $session['message']='Du bist nicht eingeloggt. Wahrscheinlich ist deine Sessionzeit abgelaufen.'; if( $BOOL_JS_HTTP_REQUEST ){ jslib_http_command('timeout'); } else{ redirect('index.php?op=timeout','Not logged in: '.$REQUEST_URI); } } } if ($session['user']['loggedin']!=true && (!$allowanonymous[$SCRIPT_NAME] && !$session['user']['superuser']>0)) { if( $BOOL_JS_HTTP_REQUEST ){ jslib_http_command('timeout'); } else{ redirect('login.php?op=logout'); } } $session['counter']++; // Wenn wir Seite in Restore setzen dürfen if (!$nokeeprestore[$SCRIPT_NAME] && !$BOOL_JS_HTTP_REQUEST) { $g_ret_page = calcreturnpath($session['user']['restorepage']); $session['user']['restorepage']=$REQUEST_URI; // DEBUG if(!isset($session['rp_debug'])) { $session['rp_debug'] = array(); } if(count($session['rp_debug']) > 25) { array_shift($session['rp_debug']); } array_push($session['rp_debug'],$session['user']['restorepage']); } //Falls ein Special innerhalb eines if($_GET['xyz']...) läuft wird hier versucht der Pfad zum Special wieder herzustellen //indem alle Variablen wiederhergestellt werden, die eine Abarbeitung des Skripts bis zum Aufruf des Specials ermöglicht haben. spc_restore_navs_for_special_execution(); // Inventar standardmäßig auf aus $show_invent = false; define_template(); ?>