anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: So 22 Sep, 2019 19:12

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Badnav Fixer
BeitragVerfasst: Do 11 Okt, 2012 12:04 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
Hallo zusammen,

ich hätte da mal eine Frage mit der Hoffnung auf Hilfe. Und zwar geht es um einen Badnav Fixer. Weiß zufällig Jemand, wie man diesen einbauen und auch zum Laufen bekommt?

Über jegliche Hilfe in dieser Richtung, wäre ich recht dankbar (:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Do 11 Okt, 2012 16:29 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 124
Das ist einfach. ;)

Aber ohne verlinkte Source (die eigentlich Pflicht für Support ist) im Profil kann ich nur raten welche Version du hast, ergo erwarte zM von mir keine Antwort.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Do 11 Okt, 2012 18:30 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
Ups sry, hab das nun mal aktualisiert (;
Vll könnte mir dann jetzt jemand bei dem Problem helfen?
Das wäre ganz lieb (:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Fr 12 Okt, 2012 15:52 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 124
Wo willst du den badnav-Fixer einbauen?

Soll der Badnav-Fixer automatischer Natur sein? (Habe da einen experimentellen Badnav Fixer der den Output miteinbezieht rumliegen) mit Betonung auf experimentell, d anie live eingesetzt wurde.

Bzw welche Anforderungen stellst du dem Badnav-Fixer?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Fr 12 Okt, 2012 16:50 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
Der Badnav-Fixer soll in die Vitalinfo mit eingebaut werden, damit die User einen schnellen Zugriff darauf haben, je nachdem wo sie fest stecken.

Also er sollte leicht zu handhaben sein, sodass User jederzeit wieder aus einem Badnav heraus kommen können. Also große Anforderungen sonst gibt es da nicht, die jetzt da besonders weitreichend wären.

Wenn der automatische auch leicht zu handhaben wäre, klingt dieser ja auch schon interessant. Würde es dir denn etwas ausmachen, mir beide Alternativen zu zeigen?
Das wäre echt lieb (:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Mo 15 Okt, 2012 22:06 
Offline
Profi
Profi

Registriert: Di 20 Jul, 2010 13:27
Beiträge: 137
LoGD: http://www.shibaya-logd.de/source.php
Dir ist hoffentlich klar, dass die Spieler damit einiges an Müll anstellen können oder? Wenn sie im Wald kämpfen und kurz vorm verlieren sind, kurz das Knöpfchen gedrückt und gut ist. Oder wenn sie auf ner Insel sind, wo die Überfahrt was kostet (alles kenne ich auf Falinn noch nicht ^^) drauf gedrückt und sie sind in der Hauptstadt. Das musst du bei solchen Sachen auch bedenken. Ist nicht böse gemeint, bitte nicht falsch verstehen :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Di 16 Okt, 2012 11:47 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
Danke fürs Bescheid geben =) Ist echt lieb.
Gibt es denn da keine Möglichkeit solches dann zu umgehen in irgendeiner Art und Weise? Das eben solches nicht geschieht? Also das der Fixer dann in der Art 'ausgenutzt' wird?
Vielleicht jetzt eine blöde Frage, aber ich stell sie nun trotzdem einfach mal. (;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Di 16 Okt, 2012 19:02 
Offline
Profi
Profi

Registriert: Di 20 Jul, 2010 13:27
Beiträge: 137
LoGD: http://www.shibaya-logd.de/source.php
In der Theorie schon, ich hab nur leider keinen Schimmer wie sich sowas umsetzen lässt...

Wenn man ins Badnav kommt steht ja in der Leiste badnav.php. Dass der Fixer nur auftaucht, wenn man ganz gezielt in dieser php landet. Wäre so meine Idee aber ich hab echt keinen Schimmer von der Umsetzung, falls es überhaupt möglich ist


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Mi 17 Okt, 2012 16:37 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
Dennoch danke für die schnelle Antwort. (:
Vielleicht hat ja noch sonst Jemand eine Idee davon?
Wenn ja, wäre ich sehr dankbar, Hilfe dafür zu bekommen.
Oder eben auch generell was den Badnav-Fixer anbelangt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Do 18 Okt, 2012 18:51 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 12 Aug, 2009 18:11
Beiträge: 65
Geschlecht: Männlich
LoGD: http://www.plueschdrache.de
Habt ihr denn so oft Leute, die in badnavs hängen, dass so etwas benötigt wird?
Vielleicht sollte man da eher nach der Ursache schauen. Ich wüsste jetzt zumindest kaum, wann ich überhaupt mal jemanden befreien musste. Es gab vielleicht ein zwei Überraschungen in alten Skripten, aber das war alles erklärbar und zu beheben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Fr 19 Okt, 2012 04:25 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 124
Bathis-Automatischer-Badnav-Fixer (wie gesagt experimentell und nie getestet oder benutzt worden):

Ersatz für badnav.php (NIEMALS live anwenden, sondern als Inspiration verwenden ;) )
$this->bbcode_second_pass_code('', '
<?
// WICHTIG!
// function redirect(...){ } erweitern:
//
// function redirect($location,$reason=false){
// global $session,$REQUEST_URI;
//
// $session['lastrequest'] = $REQUEST_URI; //<= das ist neu
// [...alles andere bleibt identisch...]
// }
//

require_once 'common.php';

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

if ($session['user']['loggedin'] && $session['loggedin'])
{
$request = $session['lastrequest'];

if(!check_navs($session['allowednavs']))
{
$session['debug'].=' Keine sinnvolle allowed nav gefunden => reset der navs ';
debuglog(' Keine sinnvolle allowed nav gefunden => reset der navs [request: "'.$request.'" restorepage: "'.$session['user']['restorepage'].'"]');
redirect_village();
}
else // Navs und Output sind gültig und sinnvoll überprüfen wir also wo der request happert, sprich Fehler finden und bereinigen!
{
if(!array_key_exists($request,$session['allowednavs']))
{
if(check_nav_in_output($request)) // entwickler ist schuld! Hat einen Link ohne Addnav eingebaut!
{
debuglog(' Entwickler hat addnav in '.$request.' vergessen! Folgender '.$request.' war im Output, aber nicht in allowednavs zu finden!
Eintrag in allowednavs wurde als dirty workaround hinzugefügt. Schnellstmöglich beheben!!! ');
$session['allowednavs'][$request] = true;
}
else // user ist schuld ergo -> cheater!
{
debuglog(' Beim cheaten erwischt? '.$request.' war weder in allowednavs noch im Output zu finden! [restorepage: "'.$session['user']['restorepage'].'"]');
}
}

$session['user']['allowednavs'] = $session['allowednavs'];
saveuser();

if (is_new_day() && strpos($session['output'],"<!--CheckNewDay()-->") !== false)
{
debuglog(' Badnav [request: '.$request.'] ~> Newday [ restorepage: "'.$session['user']['restorepage'].'" wurde zurückgesetzt zu "village.php" ] ');
$session['user']['allowednavs'] = array();
addnav('','village.php');
$session['user']['restorepage'] = 'village.php';
redirect('newday.php');
}

echo $session['output'];
}
}
else
{
$session=array();
redirect('index.php');
}


// nützliche Funktionen


function check_navs($navs)
{
global $allownonnav,$nokeeprestore;

$noreturnnavs = array_merge($allownonnav, $nokeeprestore, array('httpreq.php' => 1)); //WICHTIG: Array mit ajax-php files ergänzen oder sonstige sinnlose navs...

if(is_array($navs))
{
foreach($navs as $key => $val)
{
if( array_key_exists("".( strpos($key,'?') ? substr($key,0,strpos($key,'?')) : $key )."",$noreturnnavs) || (trim($key)=='') || ($key===0) )
{
unset($navs[$key]);
}
else
{
if(!check_nav_in_output($key)) // ist die sinnvolle nav nicht im output?
{
unset($navs[$key]); // also aus dem temp array löschen, da user sie nicht benutzen kann
}
}
}

return ( (count($navs) > 0) ? true : false );
}
else
{
return false;
}
}

function check_nav_in_output($nav)
{
global $session;

if($session['output'] != '' && $nav != '')
{
if( preg_match('/<a\s[^>]*href\s*=\s*[\'\"]\s*'.$nav.'\s*[\'\"][^>]*>(.*)<\s*\/\s*a>/siU',$session['output']))
{
return true;
}
}
else
{
return false;
}
}


function redirect_village()
{
global $session;

$session['user']['allowednavs'] = array();
addnav('','village.php');
$session['user']['restorepage'] = 'village.php';

if(is_new_day())
{
redirect('newday.php');
}
else
{
$session['output'] = '<a href="village.php">Deine erlaubten Navs waren beschädigt. Zurück zum Dorf.</a>';
}
}
?>
')

Verbesserungen zum Skript hier: viewtopic.php?f=25&t=5497&p=57055#p57055


Zuletzt geändert von Bathory am Fr 19 Okt, 2012 20:04, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Fr 19 Okt, 2012 09:05 
Offline
Newbie

Registriert: Do 11 Okt, 2012 11:55
Beiträge: 6
LoGD: http://www.falinn-modernite.de/
@Charon: Doch da sind schon öfter Leute, die da in einen Badnav geraten. (;
@Bathory: Danke für das Script =) Wir werden es austesten und dann unsere Erfahrungen damit berichten. ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Badnav Fixer
BeitragVerfasst: Fr 19 Okt, 2012 20:02 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 124
ich sehe gerade da fehlt noch ne überprüfung ob der link nicht in einem form tag ist :) auch ne beliebte Badnav Quelle :)

also statt:
$this->bbcode_second_pass_code('', '
if( preg_match('/<a\s[^>]*href\s*=\s*[\'\"]\s*'.$nav.'\s*[\'\"][^>]*>(.*)<\s*\/\s*a>/siU',$session['output']))')

sowas:
$this->bbcode_second_pass_code('', '
if(
preg_match('/<a\s[^>]*href\s*=\s*[\'\"]\s*'.$nav.'\s*[\'\"][^>]*>(.*)<\s*\/\s*a>/siU',$session['output'])
|| preg_match('/<form\s[^>]*action="'.$nav.'"[^>]*>/siU',$session['output'])
)')

und nach dem hier:

$this->bbcode_second_pass_code('', '$session['allowednavs'][$request] = true;')

wäre vllt das hier auch nicht schlecht:

$this->bbcode_second_pass_code('', 'redirect($request); ')

:D

p.s.: solltet ihr in eurem LoGD html erlauben und darin keine Forms und Links rausfiltern, sollte man dieses System nicht verwenden, niemals! Weil dem Output, dann nicht mehr getraut werden kann.

p.p.s.: Wenn ihr html erlaubt immer gefährliche tags wie links und Forms entfernen, auch wenn ihr diese System nicht benutzt :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum