GTChat 0.93

GTChat 0.93

GTChat 0.93 ist der bisher stabilste Chat und verbindet Einfachheit mit Eleganz. Er hat wenige Unterschiede zu früheren Versionen und bietet mit einem speziellen Installations-Programm schon von Anfang an Komfort.

Trotz der vielen Vorteile ist er nicht der aktuellste GTChat. Er ist, wie man weiter unten lesen kann, hinter der Kulisse nicht besonders toll aufgebaut. Schlechtes Programmieren ist noch milde.

Meinung von Wladimir Palant

Einige Bemerkungen und Aussagen von Wladimir Palant zu GTChat 0.93.

Wie ich schon gesagt habe, war GTChat mein erstes Perl-Programm. Leider habe ich mir dabei das falsche Vorbild ausgesucht, nämlich YaBB. Daran hatten alle Versionen von GTChat bis einschliesslich 0.93 zu leiden. Der Aufbau ist für ein grosses und kompliziertes System völlig ungeeignet, es ist unflexibel und nicht erweiterbar, enthält sehr viele implizite Abhängigkeiten zwischen Programmteilen, verwendet zu viele globale Variablen und verzichtet auf Deklarationen (kein “use strict”). Ferner wird ein erheblicher Teil des HTML-Codes vom Programm generiert und kann vom Nutzer nicht bzw. nur mit grossem Aufwand geändert werden.

Der HTML-Code selber verwendet konsequent id-Attribute, wo class stehen sollte – ein Überbleibsel meiner ersten Experimente mit HTML. Daten werden in Formular-Feldern eines Extra-Frames gelagert, anstatt einfach globale Variablen des Framesets zu verwenden. Und so weiter, die Fehler sind zahlreich.

Das Installationsprogramm muss als ein grosses Problem dieser Version erwähnt werden. Es hat zwei Sicherheitslücken verursacht, die in nicht weniger als 20% der Installationen zu finden sein dürften. Erstens ist es das Standard-Passwort für den Administrator – erstaunlich viele Menschen ändern die Passwörter nie. Das Installationsprogramm sollte das Administrator-Passwort abfragen und anschliessend das Account erstellen, eine vordefinierte Datei dafür dürfte es niemals geben. Die zweite Sicherheitslücke ist das Programm selber – da Leute für gewöhnlich nicht lesen, haben viele install.pl nicht entfernt, dementsprechend konnte es von jedermann ausgeführt werden. Hier könnte man es so machen, dass chat.pl nicht starten würde, solange sich install.pl im Verzeichnis befindet. Noch besser wäre es aber, dass das Programm überprüft, ob bereits Benutzeraccounts vorhanden sind – in diesem Fall würde es die Eingabe des Administrator-Passworts verlangen. Somit wäre es für den Administrator auch nach der Installation noch nutzbar, für jeden anderen aber nicht zugänglich.

Einen Kommentar hinterlassen

Du musst eingeloggt sein um einen Kommentar zu schreiben.