Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition: 0.9.7(DS V3) Ithil-Edition


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release der Dragonslayer-Edition ist für jeden Interessenten frei zum Download verfügbar. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./badnav.php

zurück
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:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
<?
/**
 * Badnav Datei zeigt die letzte vom User legal besuchte Seite an und dient somit als Auffangseite für alle Betrugsversuche
 *
 * @author LOTGD Core
 */

require_once 'common.php';

$session['debug'].='Badnav';


function 
check_navs($navs)
{
    global 
$allownonnav;
    
    
$noreturnnavs array_merge($allownonnav,array('httpreq.php' => true,'newday.php' => true));
    
    if(
is_array($navs))
    {
        foreach(
$navs as $key => $val)
        {
            if(
array_key_exists("".( strpos($key,'?') ? substr($key,0,strpos($key,'?')) : $key )."",$noreturnnavs))
            {
                unset(
$navs[$key]);
            }
        }
        
        return ( (
count($navs) > 0) ? true false );
    }
    else
    {
        return 
false;
    }
}


//checkday();
if ($session['user']['loggedin'] && $session['loggedin'])
{
    
// checkday() muss absolut konservativ aufgerufen werden!
    // (= nur dann, wenn die letzte Seite ohnehin auf newday weiterleiten wollte oder es wirklich keine andere Navmöglichkeit gibt)
    
if (strpos($session['user']['output'],'<!--CheckNewDay()-->'))
    {
        
checkday();
    }
    if(
is_array($session['allowednavs']))
    {
        foreach(
$session['allowednavs'] as $key => $val)
        {
            if     (
                    
trim($key)=='' ||
                    
$key===||
                    
substr($key,0,8)=='motd.php' ||
                    
substr($key,0,8)=='mail.php'
                
)
            {
                unset(
$session['allowednavs'][$key]);
            }
        }
    }
    
    
// sinnlose badnavs sowie den ND-bug??? beheben by bathory
    
if(!check_navs($session['allowednavs']))
    {    
        
$session['debug'].=' Keine sinnvole allowed Nav gefunden => reset der Navs ';
        
debuglog(' Keine sinnvole allowed Nav gefunden => reset der Navs ');
        if( 
is_new_day() ){
            
redirect('newday.php');
        }
        
$session['allowednavs']=array();
        
addnav('','village.php');
        
$session['user']['output'] = '<a href="village.php">Deine erlaubten Navs waren beschädigt. Zurück zum Dorf.</a>';
    }
    if(
count($session['allowednavs'])==&& isset($session['allowednavs']['badnav.php']))
    {    
        if( 
is_new_day() ){
            
redirect('newday.php');
        }
        
$session['allowednavs']=array();
        
addnav('','village.php');
        
$session['user']['output'] = '<a href="village.php">Deine erlaubten Navs waren beschädigt. Zurück zum Dorf.</a>';
    }
    if (!
is_array($session['allowednavs']) || count($session['allowednavs'])==|| empty($session['user']['output']))
    {
        
$session['allowednavs']=array();
        
addnav('','village.php');
        
$session['user']['output'] = '<a href="village.php">Deine erlaubten Navs waren beschädigt. Zurück zum Dorf.</a>';
    }
    
// Aus dem Output wird Javascript und iFrames herausgefiltert, um automatisches Seitenreloading
    // durch Badnavs und Javascript zu vermeiden
    
echo strip_selected_tags($session['user']['output'],array('iframe'),true,false);

    
// Sehr wichtig für Verfolgung renitenter Bugs.
    
$session['debug'].='Badnav ohne ND';
    
$session['user']['allowednavs']=$session['allowednavs'];
    
saveuser();
}
else
{
    
Atrahor::clearSession();
    
redirect('index.php');
}
?>
0.9.7(DS V3) Ithil-Edition