Statistik |
Beiträge: 143.394 (Täglich: 19,84 )
Themen: 16.618
Mitglieder: 13.201
Neuestes Mitglied: mannohnezeit.
Ausl. d. letzten Minute: 82%
Ausl. d. letzten 5 Minuten: 76%
Ausl. d. letzten 15 Minuten: 82%
Aktulle Uhrzeit: 21:37
Freier Webspace: 4.22 TB
PHP-Version: 7.4.33
|
|
|
WoltLab Burning Board Lite 1.0.2pl3      |
|
WoltLab Burning Board Lite 1.0.2pl3 |
 |
Hiermit wird das WoltLab Burning Board Lite 1.0.2pl3 kostenlos, im original Archiv und unveränderter Form, zum Download angeboten.
__________________
|
|
17.03.2015 22:32 |
|
|
|
Hallo,
Einige kennen sicher das Problem, dass neue Beiträge, trotz Ausloggens, nach dem Einloggen weiterhin als neu markiert bleiben.
Eine Lösung gab es dazu, von mir, auf mywbb.info und danach auf your-wbb.de.
Da mywbb.info nicht mehr existiert und ich mich auf your-wbb.de verabschiedet habe, gibt es diese Lösung nun auch hier, für jene, die sie gebrauchen können.
suche in /logout.php nach:
php: |
1:
|
$db->query("UPDATE bb".$n."_sessions SET userid = '0' WHERE hash = '$sid'"); |
|
füge darunter ein:
php: |
1:
|
$db->query("UPDATE bb".$n."_users SET lastvisit = '$wbbuserdata[lastactivity]' WHERE userid = '$wbbuserdata[userid]'"); |
|
Mit dieser Änderung werden nach dem "Logout" auch ungelesene Beiträge nicht mehr als neu markiert.
__________________
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Schrimm: 18.03.2015 17:02.
|
|
17.03.2015 23:15 |
|
|
|
Hallo,
Die Änderungen sind, in der Reihenfolge wie sie beschrieben sind, pro Datei durchzuführen!
Wobei erwähnt sei: "addslashes()" und "mysqli_real_escape_string()" sind nicht unfehlbar und sind auch nicht unbedingt zum Schutze vor einer "SQL-Injection" entwickelt worden.
Es besteht die Möglichkeit der SQL-Injection in der "/acp/avatar.php".
Lösung:
suche in /acp/avatar.php nach:
php: |
1:
|
'".$_POST['groupid']."', '".$_POST['needposts']."' |
|
ersetze gegen:
php: |
1:
|
'".intval($_POST['groupid'])."', '".intval($_POST['needposts'])."' |
|
suche:
php: |
1:
|
$db->query("UPDATE bb".$n."_avatars SET groupid = '".$_POST['groupid']."', needposts = '".$_POST['needposts']."' WHERE avatarid = '".$_POST['avatarid']."'"); |
|
ersetze gegen:
php: |
1:
|
$db->query("UPDATE bb".$n."_avatars SET groupid = '".intval($_POST['groupid'])."', needposts = '".intval($_POST['needposts'])."' WHERE avatarid = '".intval($_POST['avatarid'])."'"); |
|
suche ALLE:
php: |
1:
|
avatarid = '".$_REQUEST['avatarid']."' |
|
ersetze ALLE gegen:
php: |
1:
|
avatarid = '".intval($_REQUEST['avatarid'])."' |
|
suche ALLE:
php: |
1:
|
avatarid = '".$_POST['avatarid']."' |
|
ersetze ALLE gegen:
php: |
1:
|
avatarid = '".intval($_POST['avatarid'])."' |
|
suche:
php: |
1:
|
,'".$_POST['groupid']."', '".$_POST['needposts']."')"); |
|
ersetze gegen:
php: |
1:
|
,'".intval($_POST['groupid'])."', '".intval($_POST['needposts'])."')"); |
|
Es besteht die Möglichkeit der SQL-Injection in der "/acp/board.php".
Lösung:
suche in /acp/board.php nach:
php: |
1:
|
boardorder='$val' WHERE boardid = '$key' |
|
ersetze gegen:
php: |
1:
|
boardorder='".intval($val)."' WHERE boardid = '".intval($key)."' |
|
suche:
php: |
1:
|
boardid = '$parentid' |
|
ersetze gegen:
php: |
1:
|
boardid = '".intval($parentid)."' |
|
suche:
php: |
1:
|
$parentlist = $result['parentlist'].",".$parentid; |
|
ersetze gegen:
php: |
1:
|
$parentlist = $result['parentlist'].",".intval($parentid); |
|
suche:
php: |
1:
|
parentid = '$parentid' |
|
ersetze gegen:
php: |
1:
|
parentid = '".intval($parentid)."' |
|
suche:
php: |
1:
|
'$style_set','$parentid' |
|
ersetze gegen:
php: |
1:
|
'".intval($style_set)."','".intval($parentid)."' |
|
suche:
php: |
1:
|
,'$allowbbcode','$allowimages','$allowhtml','$allowsmilies','$allowicons','$daysprune' |
|
ersetze gegen:
php: |
1:
|
,'".intval($allowbbcode)."','".intval($allowimages)."','".intval($allowhtml)."','".intval($allowsmilies)."','".intval($allowicons)."','".intval($daysprune)."' |
|
suche:
ersetze gegen:
php: |
1:
|
,'".intval($postorder)."' |
|
suche:
php: |
1:
|
,'$closed','$isboard','$invisible' |
|
ersetze gegen:
php: |
1:
|
,'".intval($closed)."','".intval($isboard)."','".intval($invisible)."' |
|
suche:
php: |
1:
|
boardid='$parentid' |
|
ersetze gegen:
php: |
1:
|
boardid='".intval($parentid)."' |
|
suche:
php: |
1:
|
$parentlist.=",$parentid"; |
|
ersetze gegen:
php: |
1:
|
$parentlist.=",".intval($parentid); |
|
suche:
php: |
1:
|
$parentchange=" parentid='$parentid', parentlist='$parentlist',"; |
|
ersetze gegen:
php: |
1:
|
$parentchange=" parentid='".intval($parentid)."', parentlist='$parentlist',"; |
|
suche:
php: |
1:
|
styleid='$style_set' |
|
ersetze gegen:
php: |
1:
|
styleid='".intval($style_set)."' |
|
suche:
php: |
1:
|
, allowbbcode='$allowbbcode', allowimages='$allowimages', allowhtml='$allowhtml', allowsmilies='$allowsmilies', allowicons='$allowicons', daysprune='$daysprune' |
|
ersetze gegen:
php: |
1:
|
, allowbbcode='".intval($allowbbcode)."', allowimages='".intval($allowimages)."', allowhtml='".intval($allowhtml)."', allowsmilies='".intval($allowsmilies)."', allowicons='".intval($allowicons)."', daysprune='".intval($daysprune)."' |
|
suche:
php: |
1:
|
, postorder='$postorder' |
|
ersetze gegen:
php: |
1:
|
, postorder='".intval($postorder)."' |
|
suche:
php: |
1:
|
, closed='$closed', isboard='$isboard', invisible='$invisible' |
|
ersetze gegen:
php: |
1:
|
, closed='".intval($closed)."', isboard='".intval($isboard)."', invisible='".intval($invisible)."' |
|
suche:
php: |
1:
|
childlist='0' WHERE boardid='$parentid' |
|
ersetze gegen:
php: |
1:
|
childlist='0' WHERE boardid='".intval($parentid)."' |
|
suche:
php: |
1:
|
'0$childlist' WHERE boardid='$parentid' |
|
ersetze gegen:
php: |
1:
|
'0$childlist' WHERE boardid='".intval($parentid)."' |
|
Es besteht die Möglichkeit der SQL-Injection in der "/acp/group.php".
Lösung:
suche in /acp/group.php nach:
ersetze gegen:
php: |
1:
|
'".intval($canviewboard)."' |
|
suche:
php: |
1:
|
'$canviewoffboard' |
|
ersetze gegen:
php: |
1:
|
'".intval($canviewoffboard)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canusesearch)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canusepms)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canstarttopic)."' |
|
suche:
php: |
1:
|
'$canreplyowntopic' |
|
ersetze gegen:
php: |
1:
|
'".intval($canreplyowntopic)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canreplytopic)."' |
|
suche:
php: |
1:
|
'$canpostwithoutmoderation' |
|
ersetze gegen:
php: |
1:
|
'".intval($canpostwithoutmoderation)."' |
|
suche:
php: |
1:
|
'$caneditownpost' |
|
ersetze gegen:
php: |
1:
|
'".intval($caneditownpost)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($candelownpost)."' |
|
suche:
php: |
1:
|
'$cancloseowntopic' |
|
ersetze gegen:
php: |
1:
|
'".intval($cancloseowntopic)."' |
|
suche:
php: |
1:
|
'$candelowntopic' |
|
ersetze gegen:
php: |
1:
|
'".intval($candelowntopic)."' |
|
suche:
php: |
1:
|
'$caneditowntopic' |
|
ersetze gegen:
php: |
1:
|
'".intval($caneditowntopic)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canpostpoll)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canvotepoll)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canuseavatar)."' |
|
suche:
php: |
1:
|
'$canuploadavatar' |
|
ersetze gegen:
php: |
1:
|
'".intval($canuploadavatar)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canratethread)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canviewmblist)."' |
|
suche:
php: |
1:
|
'$appendeditnote' |
|
ersetze gegen:
php: |
1:
|
'".intval($appendeditnote)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($avoidfc)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($ismod)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($issupermod)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canuseacp)."' |
|
suche:
php: |
1:
|
'$canviewprofile' |
|
ersetze gegen:
php: |
1:
|
'".intval($canviewprofile)."' |
|
suche:
php: |
1:
|
'$canviewcalender' |
|
ersetze gegen:
php: |
1:
|
'".intval($canviewcalender)."' |
|
suche:
php: |
1:
|
'$canprivateevent' |
|
ersetze gegen:
php: |
1:
|
'".intval($canprivateevent)."' |
|
suche:
php: |
1:
|
'$canpublicevent' |
|
ersetze gegen:
php: |
1:
|
'".intval($canpublicevent)."' |
|
suche:
ersetze gegen:
php: |
1:
|
'".intval($canrateusers)."' |
|
suche:
php: |
1:
|
canviewboard='$canviewboard' |
|
ersetze gegen:
php: |
1:
|
canviewboard='".intval($canviewboard)."' |
|
suche:
php: |
1:
|
canviewoffboard='$canviewoffboard' |
|
ersetze gegen:
php: |
1:
|
canviewoffboard='".intval($canviewoffboard)."' |
|
suche:
php: |
1:
|
canusesearch='$canusesearch' |
|
ersetze gegen:
php: |
1:
|
canusesearch='".intval($canusesearch)."' |
|
suche:
php: |
1:
|
canusepms='$canusepms' |
|
ersetze gegen:
php: |
1:
|
canusepms='".intval($canusepms)."' |
|
suche:
php: |
1:
|
canstarttopic='$canstarttopic' |
|
ersetze gegen:
php: |
1:
|
canstarttopic='".intval($canstarttopic)."' |
|
suche:
php: |
1:
|
canreplyowntopic='$canreplyowntopic' |
|
ersetze gegen:
php: |
1:
|
canreplyowntopic='".intval($canreplyowntopic)."' |
|
suche:
php: |
1:
|
canreplytopic='$canreplytopic' |
|
ersetze gegen:
php: |
1:
|
canreplytopic='".intval($canreplytopic)."' |
|
suche:
php: |
1:
|
canpostwithoutmoderation='$canpostwithoutmoderation' |
|
ersetze gegen:
php: |
1:
|
canpostwithoutmoderation='".intval($canpostwithoutmoderation)."' |
|
suche:
php: |
1:
|
caneditownpost='$caneditownpost' |
|
ersetze gegen:
php: |
1:
|
caneditownpost='".intval($caneditownpost)."' |
|
suche:
php: |
1:
|
candelownpost='$candelownpost' |
|
ersetze gegen:
php: |
1:
|
candelownpost='".intval($candelownpost)."' |
|
suche:
php: |
1:
|
cancloseowntopic='$cancloseowntopic' |
|
ersetze gegen:
php: |
1:
|
cancloseowntopic='".intval($cancloseowntopic)."' |
|
suche:
php: |
1:
|
candelowntopic='$candelowntopic' |
|
ersetze gegen:
php: |
1:
|
candelowntopic='".intval($candelowntopic)."' |
|
suche:
php: |
1:
|
caneditowntopic='$caneditowntopic' |
|
ersetze gegen:
php: |
1:
|
caneditowntopic='".intval($caneditowntopic)."' |
|
suche:
php: |
1:
|
canpostpoll='$canpostpoll' |
|
ersetze gegen:
php: |
1:
|
canpostpoll='".intval($canpostpoll)."' |
|
suche:
php: |
1:
|
canvotepoll='$canvotepoll' |
|
ersetze gegen:
php: |
1:
|
canvotepoll='".intval($canvotepoll)."' |
|
suche:
php: |
1:
|
canuseavatar='$canuseavatar' |
|
ersetze gegen:
php: |
1:
|
canuseavatar='".intval($canuseavatar)."' |
|
suche:
php: |
1:
|
canuploadavatar='$canuploadavatar' |
|
ersetze gegen:
php: |
1:
|
canuploadavatar='".intval($canuploadavatar)."' |
|
suche:
php: |
1:
|
canratethread='$canratethread' |
|
ersetze gegen:
php: |
1:
|
canratethread='".intval($canratethread)."' |
|
suche:
php: |
1:
|
appendeditnote='$appendeditnote' |
|
ersetze gegen:
php: |
1:
|
appendeditnote='".intval($appendeditnote)."' |
|
suche:
php: |
1:
|
avoidfc='$avoidfc' |
|
ersetze gegen:
php: |
1:
|
avoidfc='".intval($avoidfc)."' |
|
suche:
ersetze gegen:
php: |
1:
|
ismod='".intval($ismod)."' |
|
suche:
php: |
1:
|
issupermod='$issupermod' |
|
ersetze gegen:
php: |
1:
|
issupermod='".intval($issupermod)."' |
|
suche:
php: |
1:
|
canuseacp='$canuseacp' |
|
ersetze gegen:
php: |
1:
|
canuseacp='".intval($canuseacp)."' |
|
suche:
php: |
1:
|
canviewprofile='$canviewprofile' |
|
ersetze gegen:
php: |
1:
|
canviewprofile='".intval($canviewprofile)."' |
|
suche:
php: |
1:
|
canviewcalender='$canviewcalender' |
|
ersetze gegen:
php: |
1:
|
canviewcalender='".intval($canviewcalender)."' |
|
suche:
php: |
1:
|
canprivateevent='$canprivateevent' |
|
ersetze gegen:
php: |
1:
|
canprivateevent='".intval($canprivateevent)."' |
|
suche:
php: |
1:
|
canpublicevent='$canpublicevent' |
|
ersetze gegen:
php: |
1:
|
canpublicevent='".intval($canpublicevent)."' |
|
suche:
php: |
1:
|
canrateusers='$canrateusers' |
|
ersetze gegen:
php: |
1:
|
canrateusers='".intval($canrateusers)."' |
|
suche:
php: |
1:
|
canviewmblist='$canviewmblist' |
|
ersetze gegen:
php: |
1:
|
canviewmblist='".intval($canviewmblist)."' |
|
Es besteht die Möglichkeit der SQL-Injection in der "/acp/icon.php".
Lösung:
suche ALLE in /acp/icon.php:
php: |
1:
|
WHERE iconid = '".$_POST['iconid']."' |
|
ersetze ALLE gegen:
php: |
1:
|
WHERE iconid = '".intval($_POST['iconid'])."' |
|
suche ALLE:
php: |
1:
|
WHERE iconid = '".$_REQUEST['iconid']."' |
|
ersetze ALLE gegen:
php: |
1:
|
WHERE iconid = '".intval($_REQUEST['iconid'])."' |
|
Es besteht die Möglichkeit der SQL-Injection in der "/acp/ranks.php".
Lösung:
suche in /acp/ranks.php nach:
php: |
1:
|
,'".$_POST['group']."','".$_POST['gender']."' |
|
ersetze gegen:
php: |
1:
|
,'".intval($_POST['group'])."','".intval($_POST['gender'])."' |
|
suche:
php: |
1:
|
groupid = '".$_POST['group']."', gender = '".$_POST['gender']."' |
|
ersetze gegen:
php: |
1:
|
groupid = '".intval($_POST['group'])."', gender = '".intval($_POST['gender'])."' |
|
Die Funktionen betreffend der avatar.php, board.php, group.php, icon.php und ranks.php sollten, nach den Änderungen, auf ihre Funktionalität geprüft werden.
Es ist nicht ausgeschlossen, dass eine der beschriebenen Änderungen fehlerhaft sein könnte.
__________________
Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Schrimm: 19.05.2015 14:31.
|
|
18.03.2015 00:06 |
|
|
|
wbblite 1.0.x: Ab PHP 5.5.x |
 |
Hallo,
Seit der PHP-Version 5.5.0 gelten die "mysql"-Funktionen als veraltet und werden in einer der neueren PHP-Versionen entfernt.
Dies bedeutet, dass das wbblite 1.0.x ab PHP-Version 5.5.0 eine Warnung erzeugt, dass diese Funktionen veraltet sind, und ab einer der neueren PHP-Versionen nicht mehr funktionieren wird, weil keine Verbindung zur MySQL-Datenbank aufgebaut werden kann.
Damit dieses Problem nicht auftritt, kann man in der "/acp/lib/class_db_mysql.php" die "mysql"-Funktionen gegen die "mysqli"-Funktionen tauschen und das wbblite 1.0.x funktioniert auch weiterhin, was die Verbindung zur MySQL-Datenbank betrifft.
Dieses Problem kann ebenfalls mit der "/acp/setup.php", bei der Installation des wbblite 1.0.x, auftreten.
Eine "/acp/setup.php" und "/acp/lib/class_db_mysql.php", bei denen dies schon durchgeführt wurde, befinden sich im Anhang des zweiten Beitrages.
Seit der PHP-Version 5.5.0 gilt ebenfalls der "e"-Modifikator der "preg_replace"-Funktion als veraltet.
Deshalb sollten jene "preg_replace"-Funktionen, die diesen "e"-Modifikator verwenden, in die "preg_replace_callback"-Funktion umgewandelt werden.
Beim "WoltLab Burning Board Lite 1" betrifft dies folgende Dateien:
- /acp/lib/class_parse.php
- /acp/lib/functions.php
Eine "/acp/lib/class_parse.php" und "/acp/lib/functions.php", bei denen dies schon durchgeführt wurde, befinden sich ebenfalls im Anhang des zweiten Beitrages.
__________________
|
|
18.04.2015 12:36 |
|
|
|
Hallo,
Es besteht die Möglichkeit der "SQL-Injection" in der "/modcp.php" und "/newthread.php".
suche in /modcp.php nach:
php: |
1:
|
$boardids = $_POST['boardids']; |
|
ersetze gegen:
php: |
1:
|
$boardids = intval_array($_POST['boardids']); |
|
suche in /newthread.php nach:
php: |
1:
|
$boardids = $_POST['boardids']; |
|
ersetze gegen:
php: |
1:
|
$boardids = intval_array($_POST['boardids']); |
|
Eine "/modcp.php" und "/newthread.php", bei denen dies schon durchgeführt wurde, befinden sich im Anhang des zweiten Beitrages.
__________________
|
|
15.05.2015 23:45 |
|
|
|
wbblite 1.0.x: Ab PHP 7.0.x |
 |
Hallo,
Ab der PHP-Version 7.0.x gilt die "alte Konstruktordefinition", wo der Konstruktor denselben Namen hat wie die Klasse selbst, als veraltet und wird in der Zukunft entfernt.
Es könnte eventuell folgende Warnmeldung bei eurem Forum erscheinen:
php: |
1:
|
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; xy has a deprecated constructor in xyz.php on line Z |
|
Es ist somit notwendig die aktuellen Konstruktoren umzuschreiben oder neue Konstruktoren zu definieren, die die alten Konstruktoren aufrufen.
Beim "WoltLab Burning Board Lite 1" betrifft dies folgende Dateien:
- /acp/lib/class_db_mysql.php
- /acp/lib/class_options.php
- /acp/lib/class_parse.php
- /acp/lib/class_query.php
- /acp/lib/class_tpl_file.php
Alle Dateien, bei denen dies schon durchgeführt wurde, befinden sich im Anhang des zweiten Beitrages.
__________________
|
|
29.03.2016 16:28 |
|
|
|
Kleine Ergänzung zu PHP7:
Bei mir wurde nach dem Update auf die neue PHP-Version nur eine weiße Seite angezeigt (Fehler 500).
Folgende Dateien ändern:
==> global.php
==> acp/global.php
Suche:
php: |
1:
|
@set_magic_quotes_runtime(0); |
|
Ersetzen durch:
php: |
1:
|
if(get_magic_quotes_runtime()) set_magic_quotes_runtime(false); |
|
|
|
05.11.2016 15:06 |
|
|
|
wbblite 1.0.x: Fehlverhalten der Suchfunktion |
 |
Hallo,
Es besteht ein Fehlverhalten der Suchfunktion des "WoltLab Burning Board Lite 1.0.x".
Der Sortierungsmodus "Anzahl an Hits" und der Sortierungsmodus "Forum" funktionieren nicht.
Das Problem wird mit folgenden Änderungen in der "/search.php" behoben:
suche in /search.php(2x) nach:
php: |
1:
2:
|
case "board": $sortby="b.title";
case "views": $sortby="t.views"; |
|
ersetze gegen:
php: |
1:
2:
|
case "board": $sortby="b.title"; break;
case "views": $sortby="t.views"; break; |
|
suche:
php: |
1:
|
".ifelse($sortby=="f.title","LEFT JOIN bb".$b."_boards b USING (boardid)")." |
|
ersetze gegen:
php: |
1:
|
".ifelse($sortby=="b.title","LEFT JOIN bb".$n."_boards b USING (boardid)")." |
|
Eine "/search.php", bei der dies schon durchgeführt wurde, befindet sich im Anhang des zweiten Beitrages.
__________________
|
|
11.12.2016 02:23 |
|
|
|
wbblite 1.0.x: >PHP 7.0.0 - Optimierungen |
 |
Hallo,
Es wurden kleine Anpassungen bezüglich PHP 7 vorgenommen, die folgende Dateien betreffen:
- /global.php
- /acp/global.php
- /acp/setup.php
- /acp/update.php
- /acp/lib/class_db_mysql.php
- /acp/lib/class_parse.php
Diese Anpassungen sind optional und bewirken nur eine kleine, wahrscheinlich unmerkbare, Performanceverbesserung.
Alle Dateien, bei denen dies schon durchgeführt wurde, befinden sich im Anhang des zweiten Beitrages in der "BugfixesPHP7".
__________________
|
|
11.04.2017 17:05 |
|
|
|
wbblite 1.0.x: Ab PHP 7.2.x |
 |
Hallo,
Ab der PHP-Version 7.2.x gilt die "each()"-Funktion als veraltet und wird in der Zukunft entfernt.
Beim "WoltLab Burning Board Lite 1.0.x" kommt diese Funktion nur in Verbindung mit der "while()"-Schleife und "list()"-Funktion nach folgendem Schema vor:
php: |
1:
|
while(list($key,$val)=each($var))... |
|
Die Lösung dazu ist, dass in diesem Zusammenhang auf die "foreach()"-Schleife nach folgendem Schema umgestiegen wird:
php: |
1:
|
foreach($var as $key => $val)... |
|
Beim "WoltLab Burning Board Lite 1" betrifft dies folgende Dateien:
- /search.php
- /thread.php
- /usercp.php
- /acp/board.php
- /acp/designpack.php
- /acp/group.php
- /acp/options.php
- /acp/otherstuff.php
- /acp/users.php
- /acp/lib/class_parse.php
- /acp/lib/functions.php
Alle Dateien, bei denen dies schon durchgeführt wurde, befinden sich im Anhang des zweiten Beitrages.
__________________
|
|
11.07.2017 16:44 |
|
|
|
wbblite 1.0.x: Fehlverhalten bei der Umfragebearbeitung |
 |
Hallo,
Es besteht ein Fehlverhalten bei der Bearbeitung von Umfragen im "WoltLab Burning Board Lite 1.0.x".
Verschiebt man die Umfrageoptionen im Bearbeitungsfenster, verschwindet der Umfragetitel, die Mehrfachauswahlanzahl, sowie die Gültigkeit.
Damit das Problem behoben wird, muss die "/polledit.php" bearbeitet werden.
suche in /polledit.php nach:
php: |
1:
2:
3:
4:
5:
|
if(!$action) {
$question=$poll['question'];
$choicecount=$poll['choicecount'];
$timeout=$poll['timeout'];
} |
|
------------
Lösche es!
------------
suche:
php: |
1:
2:
3:
|
$question=htmlspecialchars($question);
$choicecount=intval($choicecount);
$timeout =intval($timeout); |
|
ersetze gegen:
php: |
1:
2:
3:
|
$question=htmlspecialchars($poll['question']);
$choicecount=intval($poll['choicecount']);
$timeout =intval($poll['timeout']); |
|
Eine "/polledit.php", bei der dies schon durchgeführt wurde, befindet sich im Anhang des zweiten Beitrages.
__________________
|
|
30.07.2017 22:00 |
|
|
|
wbblite 1.0.x: unbuffered Query/LOW_PRIORITY |
 |
Hallo,
In allen Versionen des "WoltLab Burning Board Lite 1" besteht das Problem, dass der "LOW_PRIORITY"-Modus für "ungepufferte SQL"-Abfragen aufgrund einer fehlerhaften "if"-Bedingung niemals ausgeführt wird.
Korrigiert oder entfernt man diese fehlerhafte "if"-Bedingung, wird zwar versucht der "LOW_PRIORITY"-Modus durchzuführen, jedoch kann es dann vorkommen, dass der "SQL"-Befehl "invalid" wird, da die Stringersetzung nicht richtig durchgeführt wird.
Folgende Zeilen in der "/acp/lib/class_db_mysql.php" sind dafür verantwortlich:
php: |
1:
2:
3:
|
if($this->phpversion<406) return $this->query($query_string);
else {
if($LOW_PRIORITY==1) $query_string=substr($query_string,0,6)." LOW_PRIORITY".substr($query_string,6); |
|
Die "if"-Bedinung wird wegen "<406" stets als "Wahr" ausgewertet, wodurch es niemals zum "LOW_PRIORITY"-Fall kommt, selbst wenn dieser explizit gesetzt wurde.
Korrigiert man diese "if"-Bedingung indem ein richtiger PHP-Versionsvergleich angestellt wird oder man für PHP 7 diese "if"-Bedingung komplett entfernt, kann es jedoch zu Problemen kommen wenn der "SQL"-Befehl, wie beispielsweise "REPLACE" mehr als "6" Zeichen enthält, wodurch unsere Abfrage "invalid" wird, da das "E" von "REPLACE" abgetrennt wird.
Die Lösung dazu ist, dass man die "if($this->phpversion<406)"-Bedingung korrigiert/entfernt und gleichzeitig "$query_string=substr($query_string,0,6)." LOW_PRIORITY".substr($query_string,6);" anpasst.
Eine "/acp/lib/class_db_mysql.php", bei der dies schon durchgeführt wurde, befindet sich im Anhang des zweiten Beitrages.
__________________
|
|
23.08.2017 00:34 |
|
|
|
wbblite 1.0.x: BBCode-Parsefehler |
 |
Hallo,
Beim "WoltLab Burning Board Lite 1.0.2pl3" kann es beim "Parsen" vorkommen, dass einige BBCodes, aufgrund der Textzeichenlänge, durch einen Zeilenumbruch außer Kraft gesetzt werden und dadurch nicht korrekt beziehungsweise nicht mehr umgewandelt werden.
Damit dies nicht passiert, muss die "/acp/lib/class_parse.php" angepasst werden.
Eine "/acp/lib/class_parse.php", bei der dies schon durchgeführt wurde, befindet sich im Anhang des zweiten Beitrages.
__________________
|
|
24.08.2017 18:33 |
|
|
|
wbblite 1.0.x: phpinclude |
 |
Hallo,
Beim "WoltLab Burning Board Lite 1.0.2pl3" befindet sich ein Aufruf der "/templates/phpinclude.tpl" in der "/global.php".
Da dieser Aufruf im Grunde keinem Zweck dient, außer eventuell bei speziellen Styles, kann dies aus der "/global.php" entfernt werden.
suche in /global.php nach:
php: |
1:
2:
3:
|
/** templates & style **/
$phpinclude = str_replace("\\\"","\"",$tpl->get("phpinclude"));
if(trim($phpinclude)) eval($phpinclude); |
|
------------
Lösche es!
------------
Zusätzlich kann noch die "/templates/phpinclude.tpl" entfernt werden.
Eine "/global.php", bei der dies schon durchgeführt wurde, befindet sich im Anhang des zweiten Beitrages.
__________________
|
|
20.10.2017 00:30 |
|
|
|
wbblite 1.0.x: PHP 7.2.0 Warnmeldungen |
 |
Hallo,
Beim "WoltLab Burning Board Lite 1.0.2pl3" kann es nun ab PHP 7.2.0 zu folgender Warnmeldung kommen:
php: |
1:
|
Warning: Use of undefined constant XY - assumed 'XY' (this will throw an Error in a future version of PHP) in xyz.php on line Z |
|
Dies kommt davon, dass in einigen PHP-Dateien die Array-Argumente nicht immer korrekt verwendet worden sind.
Aktuell betrifft es, soweit bekannt, folgende Dateien:
- /addreply.php
- /editpost.php
- /memberslist.php
- /modcp.php
- /newthread.php
- /pms.php
- /print.php
- /profile.php
- /register.php
- /search.php
- /thread.php
- /threadrating.php
- /usercp.php
- /acp/board.php
- /acp/group.php
- /acp/misc.php
- /acp/options.php
- /acp/style.php
- /acp/users.php
- /acp/lib/functions.php
- /acp/lib/inserts.sql
- /acp/lib/session.php
Weiters kann folgende Warnmeldung auftauchen:
php: |
1:
|
Warning: count(): Parameter must be an array or an object that implements Countable in xy.php on line Z |
|
Aktuell betrifft es, soweit bekannt, folgende Dateien:
- /search.php
- /team.php
- /acp/board.php
Die Dateien, bei denen dieses Problem bereits behoben wurde, befinden sich im Anhang des zweiten Beitrages.
edit(27.1.2018):
Es liegt der "BugfixesPHP7" nun eine "Installations"-Datei mit Namen "update7.php" bei.
Diese ist notwendig, um die erste erwähnte Warnmeldung dieses Beitrages, komplett zu beseitigen.
Da sie auch über die "SQL"-Datenbank eingeschleust wird.
Man kommt also um eine Datenbankveränderung nicht herum.
__________________
Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Schrimm: 27.01.2018 22:50.
|
|
24.12.2017 19:18 |
|
|
|
|
 |
|