Schwerwiegende Bugs

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Schwerwiegende Bugs

Beitrag von dieter99 »

Hallo miteinander!
Ich möchte in Kürze mein phpBB 2.x Board gegen phpBB 3.0.2 ersetzen. Zu Testzwecken und wegen der Templateanpassung läuft die neue Version vorerst lokal auf meinem Rechner.

Beim testen habe ich heute morgen nun zufällig entdeckt, dass beim löschen eines Beitrags das gesamte Thema gelöscht wird.
Ich habe dann sofort auf phpbb.de nach einer Lösung gesucht. Dabei bin ich auch fündig geworden:
manjo hat geschrieben:Hallo!

Da es offensichtlich ein Bug in mysql ist und nicht jeder in der Lage ist, seinen Provider dazu zu bewegen, eine neue Version einzuspielen, hier ein Workaround:

öffne include/functions_admin.php
finde in der Nähe von Zeile 720

Code: Alles auswählen

	// Remove topics now having no posts?
	if (sizeof($topic_ids))
	{
		$sql = 'SELECT topic_id
			FROM ' . POSTS_TABLE . '
			WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . '
			GROUP BY topic_id';
		$result = $db->sql_query($sql);
und ersetzte ihn durch

Code: Alles auswählen

	// Remove topics now having no posts?
	if (sizeof($topic_ids))
	{
		$sql = 'SELECT topic_id,post_id
			FROM ' . POSTS_TABLE . '
			WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . '
			GROUP BY topic_id';
		$result = $db->sql_query($sql);
speichern.

Bei mir hats funktioniert so.

Viele Grüße
Manjo
Die Anpassung des Codes hat das Problem tatsächlich gelöst.

Wenn ich den Fehler beim testen nicht zufällig bemerkt hätte und das neue Board irgendwann online gewesen wäre, dann hätte der Fehler schwerwiegende Folgen gehabt. Jeder User, der einen seiner eigenen Beiträge löscht, hätte jedes Mal das komplette Thema vernichtet.

Mir stellt sich nun die Frage, wie die Entwickler/Beitreiber von phpBB mit einer solchen Problematik umgehen. Der beschriebene Fehler soll kein echter Bug sein, sondern eher ein mySQL-Problem.

Setzen die Entwickler nun einfach voraus das jeder die aktuellste mySQL Version installiert hat (bei mir läuft lokal mySQL 5.0.15), oder will man den entsprechenden php-Code mit der phpBB-Version 3.0.3 korigieren?
Egal welcher Fall nun zutrifft: es muss das Ziel aller Beteiligten sein das ein Anwender vor der Live-Inbetriebnahme seines Boards auf solche schwerwiegenden Fehler hingewiesen wird.
Sicherlich gibt es irgendwo eine Bug-Liste. Die Frage ist nur, ob dieser Fehler als "Bug" gesehen wird, dort eingestellt ist und beseitigt wird. Außerdem: ließt jeder Nutzer regelmäßig die Bugliste?

Vielleicht sollte man im ACP eine Übersichtsliste schaffen wo auf schwerwiegende Fehler hingewiesen wird. Das wäre doch ein Verbesserungsvorschlag?
Benutzeravatar
kellanved
Mitglied
Beiträge: 570
Registriert: 05.02.2005 15:15
Wohnort: Berlin

Beitrag von kellanved »

Hallo,
sicher ist dieses Problem besonders ärgerlich, aber leider ist es nur schwerlich möglich Nutzer auf solche Probleme hinzuweisen.

Gerade bei MySQL stellen sich dazu mehrere Schwierigkeiten. Zum einen ist es bisher nicht gelungen die betroffenen Versionen einzuschränken, zum Anderen verwenden viele Hoster selbstgebaute Versionen, die in kein Schema reinpassen. 3.0.3 wird etwas klüger beim Herausfinden der installierten MySQL Version sein, aber der PHP Code ist sicherlich nicht der Ort um MySQL Bugs zu handhaben.

Grundsätzlich muss man sich darauf verlassen können, dass Serverbetreiber ihre Software auf dem neuesten Stand halten. Die besten Sicherheitsvorkehrungen bringen nichts, wenn Angreifer Lücken in PHP/MySQL/Apache/OS ausnutzen können. Würde man versuchen Nutzer vor der Verwendung problematischer Software abhalten, müsste sogar für jeden IE(6) Nutzer ein warnendes Popup erscheinen.
Bitte keine Supportanfragen via PM
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Beitrag von dieter99 »

Bei der Installation des Boards auf lokaler Ebene (XAMPP mit mySQL 5.0.15) hat die Installationsroutine nicht gemeckert. Also gehe ich davon aus das die mySQL Version ausreichend ist.
Entweder muss man die Installationsroutine anpassen (damit nur noch die aktuellste mySQL Version zugelassen wird), oder man nimmt beim programmieren wirklich nur Code der auch 100prozentig funktioniert. Der Codeschnipsel von Manja hat ja gezeigt das es auch anders geht.
Wie schon geschildert hätte der beschriebene Fehler verherrende Folgen haben können, hätte ich den Fehler nicht zufällig entdeckt. Genauso gut können noch viele andere schwerwiegende Fehler bestehen die vielleicht beim normalen benutzen des Boards nicht auffallen aber gravierende Sicherheitslücken für Hacker darstellen können. Wenn dann irgendwan jemand eine solche Sicherheitslücke entdeckt dann sollte JEDER Betreiber eines Boards darüber informiert werden (mein Vorschlag: Hinweisliste im ACP - nur schwerwiegende Fälle). Wenn die Sicherheitslücke "nur" ein BUG ist dann wird dieser BUG mit der neuen Version behoben. Ich meine speziell die Fehler, die nicht als BUG "anerkannt" werden sondern z.B. als mySQL-Problem gesehen werden.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Prinzipiell sollte jede Software auf dem aktuellen Stand sein. Beim Server ist das eben Aufgabe des Betreibers, beim Browser Aufgabe des Kunden. phpBB zeigt im Administrations-Bereich an, wenn es nicht auf dem neusten Stand ist (sofern es PHP erlaubt). Des weiteren gibt es die Möglichkeit sich in die verschiedenen Mailinglisten einzutragen (Release, QA-Release, Commits).

Wenn ich meiner Datenbank sage bestimmte Einträge zu löschen (bzw. auszuwählen) und sie dann dennoch andere Einträge löscht, dann ist das doch definitiv ein Problem meiner Datenbank und nicht Problem meines Programmes/Skripts.

phpBB schützt den Anwender in vielen Punkten vor Problemen in anderer Software. Als Beispiele wären hier IE und JVM genannt. Wie kellanved schon sagte, gibt es in diesem Fall eben (noch) keine Möglichkeit genau herauszufinden unter welchen Umständen das Problem auftritt. Die angegebene Änderung der SQL-Abfrage sieht mir nicht wirklich SQL-korrekt aus und wird auf anderen Datenbanksystem (phpBB unterstützt nicht nur mySQL) vermutlich überhaupt nicht laufen. Deshalb wird es eine derartige Änderung im phpBB-Code wohl nicht geben.

Ich würde mir an deiner Stelle eher Gedanken darüber machen, ob ich mir den richtigen Hosting-Provider rausgesucht habe (sollte das Problem dort auch auftreten). Dein XAMPP sieht übrigens auch nicht nach neuestem Stand aus.

Gruß,
bantu.
Zuletzt geändert von bantu am 27.08.2008 14:10, insgesamt 2-mal geändert.
Powered by Coffee
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo
Ein verantwortungsvoller Administrator schaut sich immer wieder mal die Bugliste (Bug tracker) an. Alles andere wäre nicht sehr sinnvoll, da eine Anzeige für alle Benutzer im ACP leider technisch nicht immer möglich ist (wenn die entsprechende Funktion auf dem Server zum Beispiel deaktiviert wurde).
Im übrigen gibt es wohl keine absolut fehlerfreie Software.
Software, Betriebssystem, Mysql Version, PHP Version, Serverkonfiguration u.s.w. haben natürlich ebenfalls Einfluss auf die Sicherheit eines Systems. Sicherheit ist nun einmal kein statischer Zustand.
Entweder muss man die Installationsroutine anpassen (damit nur noch die aktuellste mySQL Version zugelassen wird), oder man nimmt beim programmieren wirklich nur Code der auch 100prozentig funktioniert. Der Codeschnipsel von Manja hat ja gezeigt das es auch anders geht.
Ich nehme mal an, der Fehler trat beim testen auf aktuellen SQL Standardversionen überhaupt nicht auf. Ansonsten hätte man ja dann schon reagiert. Allerdings kann selbst der beste Programmierer nicht alle Eventualitäten vorausschauend abfangen. Wie kellanved ja schon schrieb, setzen manche Hoster ja selbstgebaute Versionen ein und dort auftretende Fehler kann man einfach nicht vorher berücksichtigen.

Genauso gut können noch viele andere schwerwiegende Fehler bestehen die vielleicht beim normalen benutzen des Boards nicht auffallen aber gravierende Sicherheitslücken für Hacker darstellen können.
Hm..wenn man das immer schon vorher wüsste, dann käme es ja überhaupt nicht erst zu solchen Fehlern.
Wenn dann irgendwan jemand eine solche Sicherheitslücke entdeckt dann sollte JEDER Betreiber eines Boards darüber informiert werden
Dafür gibt es dann ja die Updates. Wenn eine solche Sicherheitslücke tatsächlich gefunden wird, reagieren die Entwickler von phpBB recht schnell und stellen entsprechende Updates zur Verfügung.

Ich meine speziell die Fehler, die nicht als BUG "anerkannt" werden sondern z.B. als mySQL-Problem gesehen werden.
Ein mysql Problem ist ein mysql Problem ist ein mysql Problem.




Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Beitrag von dieter99 »

Ich bin mir sicher das sehr viele Administratoren nicht immer die aktuellste mySQL Version installiert haben. Warum auch updaten, denn wie heißt es so schön: "never change a running system".
Und wenn ein Admin bei der Installation des phpBB Boards keine Fehler entdeckt, dann wird ihm auch nichts bewegen sein mySQL upzudaten (bzw. updaten zu lassen).
Speziell diese Admins haben dann ein Board mit schwerwiegenden Mängeln/Fehlern. Das schlimme daran ist das siese Admins nicht wissen das es diese Fehler gibt, außer sie lesen zufällig diese Beiträge oder entdecken den Fehler zufällig bei der Benutzung. Selbst wenn die Bugliste regelmäßig gelesen wird dann hilft das in diesen Fall nicht, da es sich hier um keinen Bug handelt.
Ich bin nach wie vor der Meinung das es eine Seite geben sollte wo solche wichtige Informationen zentral gespeichert werden. Diese kann man dann z.B. auch über das ACP aufrufen.

Ich habe den Fehler zufällig entdeckt und kann jetzt entsprechend reagieren (d.h. Update von mySQL). Wenn ich aber vom Fehler nichts weiss, dann kann ich auch nicht reagieren! Versteht ihr jetzt, worauf ich hinaus will?
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

dieter99 hat geschrieben:Ich bin mir sicher das sehr viele Administratoren nicht immer die aktuellste mySQL Version installiert haben. Warum auch updaten, denn wie heißt es so schön: "never change a running system".
Dann bist du noch mit Windows 98 unterwegs? ;) Sorry, aber das ist für mich nicht gerade die richtige Einstellung ;) Um ein System aktuell und sicher zu halten sind nunmal Updates auf die neusten Versionen nötig. Natürlich nur auf Stable Versions, meine ich damit.

Egal welches Programm man zur Hand nimmt, es wird doch immer auf neuste Versionen entwickelt. Warum sollte ich ein Programm entwickeln, das auf alten Versionen basiert, die vielleicht nicht mal mehr sicher sind?
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Warum auch updaten, denn wie heißt es so schön: "never change a running system".
Sorry, aber das funktioniert in der heutigen Zeit einfach nicht (mehr).
Powered by Coffee
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Was bringt es wenn angezeigt wird Bug bei xy

http://www.phpbb.com/bugs/phpbb3/
http://bugs.mysql.com/search.php?search ... &bug_age=0

Was soll ein Admin damit bitte anfangen?
Selbst reparieren?
Updaten? (Wieso läuft doch -> Never touch ...)?

Du kannst deinen Text übrigends genauso umdichten wenn du phpBB durch mySQL und umgekehrt ersetzt ;)

Beides kann Bugs enthalten und schwerwiegende Fehler beinhalten, deshalb ist es generell notwendig ein möglichst aktuelle System zu haben.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Beitrag von dieter99 »

Metzle hat geschrieben:Egal welches Programm man zur Hand nimmt, es wird doch immer auf neuste Versionen entwickelt. Warum sollte ich ein Programm entwickeln, das auf alten Versionen basiert, die vielleicht nicht mal mehr sicher sind?
Dann sollte die Installationsroutine so programmiert werden das nur mySQL 5.0.5 oder höher unterstützt werden.
Es kann nicht sein das die Installationsroutine die mySQL Version 5.0.15 zulässt, obwohl mit dieser Version schwerwiegende Fehler auftreten. Da beist sich die Katze in den Schwanz!

Außerdem geht es mir darum, dass man wichtige Infos (die nicht in die Bugliste gehören) irgendwo anders zentral festhält.
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“