anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 10:02

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 47 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di 06 Dez, 2005 19:48 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Anpassung an PHP 5.1.x

Nachdem die PHP-Entwickler mal wieder an der Datumsfunktion herumgebastelt haben und dadurch LoGD - mal wieder - fehlerhaft arbeitet, gibts hier eine Bastelanleitung, mit der LoGD wieder flott gemacht werden kann, ohne dabei mit anderen PHP-Version inkompatibel zu werden:
(Außerdem wird dadurch der "Windows does not support dates prior to midnight ..."-Bug endgültig behoben.)
  • common.php:[php]//// Finden:
    function sql_error($sql){


    //// DAVOR einfügen:
    function timetotomorrow($what="array"){
    $time = gametime();
    $tomorrow = mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
    $secstotomorrow = $tomorrow-$time;
    $realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
    $hours=(int)($realsecstotomorrow/60/60);
    $minutes=(int)($realsecstotomorrow/60)-$hours*60;
    $seconds=$realsecstotomorrow-($hours*3600+$minutes*60);
    if ($what=="hours"){
    return($hours);
    }elseif ($what=="minutes"){
    return($minutes);
    }elseif ($what=="seconds"){
    return($seconds);
    }elseif ($what=="realsecs"){
    return($realsecstotomorrow);
    }else{
    return(array(
    "hours"=>$hours,
    "minutes"=>$minutes,
    "seconds"=>$seconds,
    "realsecs"=>$realsecstotomorrow
    ));
    }
    }


    //// Finden (falls vorhanden):
    $time = gametime();
    $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
    $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
    $secstotomorrow = $tomorrow-$time;
    $realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
    $charstat.=appoencode(templatereplace("statrow",array("title"=>"Nächster Tag","value"=>date("G\\h, i\\m, s\\s \\",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds")))),true);


    //// Ersetzen durch:
    $tomorrow = timetotomorrow();
    $charstat.=appoencode(templatereplace("statrow",array("title"=>"Nächster Tag","value"=>"{$tomorrow['hours']}h, {$tomorrow['minutes']}m, {$tomorrow['seconds']}s")),true);[/php]
  • about.php:[php]//// Finden:
    "Nächster neuer Tag: ".date("h:i:s a",strtotime(date("r")."+$realsecstotomorrow seconds"))." (".date("H\\h i\\m s\\s",strtotime("1975-06-10 00:00:00 + $realsecstotomorrow seconds"))."),viewonly",


    //// Ersetzen durch:
    "Nächster neuer Tag: ".date("h:i:s a",strtotime(date("r")."+$realsecstotomorrow seconds"))." (".timetotomorrow("hours")."h ".timetotomorrow("minutes")."m ".timetotomorrow("seconds")."s),viewonly",[/php]
  • index.php:[php]//// Finden:
    $time = gametime();
    // $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
    $tomorrow = mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
    // $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
    $secstotomorrow = $tomorrow-$time;
    $realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
    output("`@Nächster neuer Tag in: `3".date("G \\S\\t\\u\\n\\d\\e\\n, i \\M\\i\\n\\u\\t\\e\\n, s \\S\\e\\k\\u\\n\\d\\e\\n\\ \\(\\E\\c\\h\\t\\z\\e\\i\\t\\)",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds"))."`0`n`n");


    //// Ersetzen durch:
    $tomorrow=timetotomorrow();
    output("`@Nächster neuer Tag in: `3 {$tomorrow['hours']} Stunden, {$tomorrow['minutes']} Minuten, {$tomorrow['seconds']} Sekunden.`0`n`n");[/php]
  • graveyard.php:[php]//// Finden:
    $time = gametime();
    $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
    $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
    $secstotomorrow = $tomorrow-$time;
    $realsecstotomorrow = $secstotomorrow / getsetting("daysperday",4);
    output("`\$Ramius`) raunzt dir genervt entgegen, dass du noch `^".date("G\\h, i\\m, s\\s",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds"))."`) hier bleiben musst, wenn du nicht weiter für ihn arbeiten willst.");


    //// Ersetzen durch:
    $zeit=timetotomorrow();
    output("`\$Ramius`) raunzt dir genervt entgegen, dass du noch `^{$zeit['hours']} Stunden, {$zeit['minutes']} Minuten und {$zeit['seconds']} Sekunden hier bleiben musst, wenn du nicht weiter für ihn arbeiten willst.");[/php]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi 07 Dez, 2005 14:02 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Noch eine Anpassung an PHP 5.0.5 und neuer:

setnewday.php:[php]////Finden:
for ($i=0;$i<db_num_rows($result);$i++){
list($key,$val)=each(db_fetch_assoc($result));
db_query("OPTIMIZE TABLE $val");
}


//// Ersetzen durch:
while ($helferlein=db_fetch_assoc($result)){
list($key,$val)=each($helferlein);
db_query("OPTIMIZE TABLE $val");
}[/php]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sa 01 Apr, 2006 01:24 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
KRITISCHE LÜCKE!

Bitte führt so bald wie möglich und bis auf Weiteres folgende Notlösung in der source.php durch, um eure Server zu schützen:


[php]//// Finde:
$subdir = str_replace("\\","/",dirname($_SERVER['SCRIPT_NAME'])."/");

//// Danach einfügen:
while(substr($subdir,0,2)=="//" ){
$subdir = substr($subdir,1);
}[/php]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 17 Sep, 2006 12:35 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Deathbringer hat eine Lücke im Nav-System gemeldet, über die es den Spielern möglich ist, unerlaubte Scripte auszuführen.

Bis der Fehler behoben ist, kann folgender Patch die Cheaterei unterbinden, indem die Scripausführung abgebrochen wird, sobald jemand auf diese Weise zu Cheaten versucht:
[php]/// Öffne: common.php
/// Finde:
$SCRIPT_NAME=substr($SCRIPT_NAME,strrpos($SCRIPT_NAME,"/")+1);

/// Füge danach ein:
// Notfall-Fix gegen Cheaterei
if (substr($SCRIPT_NAME,strrpos($SCRIPT_NAME,".php"))!=".php" || strpos($PATH_INFO,".php")){
echo "Verarbeitung abgebrochen. Das Script ist ungueltig.";
exit();
}[/php]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Di 19 Sep, 2006 17:26 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Schon wieder eine kritische Lücke gemeldet worden. Diesmal von Devilzimti.

Bitte unbedingt ausbessern!
Lösung aus DE v4:[php]//// Öffne: topwebvote.php
// Finden:
$id = $_POST['acctid'];

// Ersetzen durch:
$id = (int)($_POST['acctid']);[/php]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Changes Log
BeitragVerfasst: Mo 22 Jun, 2009 15:07 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Wieder eine Sicherheitslücke gestopft. Diesmal gemeldet von Eliwood:
Zitat:
In der common.php gehört session_register('session') ersetzt mit folgendem Stück code:
$this->bbcode_second_pass_code('', '// Session einstellen & starten
session_name('IrgendEinNameOhneBesondereZeichen');
session_set_cookie_params(0, dirname($_SERVER['PHP_SELF']), $_SERVER['HTTP_HOST']);
session_start();
')

Danke für den Hinweis.

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Changes Log
BeitragVerfasst: So 09 Mai, 2010 12:37 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Nach langer Zeit wieder ein Bugfix, erstmals gemeldet von Linus und behoben mit der Lösung von Auric.

Wenn vor dem Hotkey ein Farbcode steht, der den selben Buchstaben benutzt wie der Hokey, kommt die Funktion addnav() in der common.php durcheinander und zerschießt die Navigationsleiste.

In der common.php:
PHP:
//Suche
$text=substr($text,0,strpos($text,$key))."`H".$key."`H".substr($text,strpos($text,$key)+1);
// Ersetze mit
$index=substr($text,strpos($text,$key)-1,1)=="`"?strpos($text,$key)+1:strpos($text,$key);
$text=substr($text,0,$index)."`H".$key."`H".substr($text,$index+1);


Danke für den Hinweis und die Lösung :)

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 47 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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