1
0
Fork 0
  • release/2.1.1 685853a9f9

    Ghost released this 2023-09-16 08:05:50 +00:00 | 0 commits to master since this release

    Dieses Patch-Update behebt kleinere Fehler und fügt eine grundlegende Dokumentation für Nutzer und Entwickler hinzu.

    Changelog

    • Dokumentation zu grundlegender Einrichtung und Nutzung in README.md
    • Verbesserte Dokumentation wichtiger Backend-Komponenten
    • Als täglich deklarierte Cronjobs werden jeden Tag um 00:00 Uhr ausgeführt
    • Behoben: Falsche URL für das Favicon im Presession-Template
    Downloads
     
  • release/2.1.0 e4e050908b

    Ghost released this 2023-09-11 06:55:57 +00:00 | 3 commits to master since this release

    Mit den Cronjobs (cron.php) und dem IAR-Export wurden zwei bisher ausstehende Features aus früheren MCP-Versionen in den objektorientierten Stil des MCP ab Version 2.0.0 überführt und verbessert. Daneben gibt es weitere, kleinere Verbesserungen.

    Changelog

    Hinzugefügt

    • Objektorientiertes API für die Definition und konfigurierbare Ausführung von Cronjobs in unterschiedlicher Frequenz
    • API-Endpunkt runCron zur (ggf. per API-Key geschützten) Ausführung aktiver Cronjobs
    • Cronjob zur Löschung veralteter Sitzungen
    • API-Endpunkt downloadIar zum Herunterladen fertiger IARs
    • Erstellte IARs werden eine Woche nach Erstellung gelöscht bzw. bei erneuter Anforderung ersetzt

    Geändert

    • Bisherige Cronjobs auf neues Cronjob-API portiert
    • REST-Konsole wird jetzt als Schnittstelle zur Anforderung von IARs verwendet.
    • Nach Erstellung einer IAR ist der Download-Link auch über die Profilseite erreichbar
    • Tabelle iarstate zur Anpassung an die neue Benennungskonvention in mcp_iar_state umbenannt
    • Folgen von Wechsel und Löschung von Identitäten werden besser erklärt
    • Identitätswechsel und -löschung müssen über einen modalen Dialog bestätigt werden
    • Design der Profilseite verbessert
    • Passwort der erstellten IAR ("password") wird dem Nutzer explizit mitgeteilt
    • Verbesserte Dokumentation der Beispielkonfiguration
    • Behoben: E-Mails werden mit falschem Zeichensatz gesendet
    • Behoben: Migration der Identitäts-Tabelle nicht spezifiziert
    • Behoben: Keine Erstellung eines eigenen Profils (userprofile) für neue Identitäten
    Downloads
     
  • release/2.0.0 b18b960fb0

    Ghost released this 2023-09-10 00:46:28 +00:00 | 22 commits to master since this release

    Mit dieser Version wurden die Strukturen von Backend und Frontend des Projekts grundlegend überarbeitet. Mit diesem Schritt sind zukünftige Erweiterungen einfacher und mit weniger Fehlerpotenzial bzw. Sicherheitsrisiko zu realisieren.

    Diese Version beinhaltet mehrere Breaking Changes und erfordert teilweise eine manuelle Migration vorhandener Installationen.

    Changelog

    Hinzugefügt

    Backend:

    • Automatisches Laden von PHP-Klassen über einen PSR-4 Autoloader
    • Objektorientiertes API für die Verarbeitung von Anfragen
    • Session-Management und Einschränkung des Zugriffs per Middleware
    • Verbessertes, PHP-natives Templating-System mit sicheren Variablen und einfacher Include-Funktionalität
    • Überprüfung von Account-Existenz und UserLevel vor Wiederaufnahme der Sitzung
    • Versionierung und automatische Migration des Schemas eigener MySQL-Tabellen
    • Caching von Benutzernamen über mehrere Anfragen hinweg mit APCu
    • Beispiel-Konfigurationsdatei um Dokumentation erweitert

    Frontend:

    • Dependency Management über npm
    • Kompilierung, Zusammenfassung und Optimierung von CSS und Sass zu einem Stylesheet pro Seitentyp
    • Nutzung des gleichen Fonts auf allen Seiten

    Geändert

    Backend:

    • Trennung öffentlich abrufbarer Skripte und Assets in ein separates Webroot-Verzeichnis (public)
    • Implizite Inklusion des Dashboard-Template (plugins) entfernt
    • Konfigurationsformat auf INI geändert, Struktur verbessert
    • Eigene Tabellen haben konsistente, aussagekräftigere Namen erhalten (Präfix mcp_)
    • Verbindung zur Datenbank wird nur bei Bedarf hergestellt
    • Aufbau von Tabellen auf MCP-Seiten optimiert
    • Zusammenführung von Dashboard-Templates
    • Bestehende Klassen an die objektorientierte Struktur angepasst
    • Datenbankabfragen der OpenSim-Klasse optimiert
    • Behoben: Nichterreichbarkeit der Seite user-online-state
    • Behoben: Fehlerhafte HTML-Struktur einiger Templates
    • Behoben: Entfernung aller HTML-Tags in Plaintext-Versionen von E-Mails

    Frontend:

    • Ungenutzte Stylesheets und JavaScript-Dateien entfernt
    • Stylesheet für Login-Seiten auf tatsächlich genutzte Regeln reduziert
    • Schriftzug "Es ist niemand online" auf OnlineDisplay-API-Seite zentriert
    • Behoben: Überlauf des Schriftzugs "Administration" nach Minimierung der Navigationsleiste im Dashboard
    • Behoben: Falsche font-family-Deklarationen im CSS für Login-Seiten

    Breaking Changes / Migration

    Konfiguration (manueller Eingriff erforderlich):
    Die Einstellungen der bisher vorhandenen config.php müssen manuell in eine Datei config.ini im selben Verzeichnis übertragen werden. Es wird empfohlen, die Datei config.example.ini in diesem Repository als Ausgangspunkt zu nutzen und die Beispielwerte mit den Werten aus der alten Konfigurationsdatei zu ersetzen.

    Webserver (manueller Eingriff erforderlich):
    Die Einstellungen des Webservers müssen geändert werden, um das öffentliche Webverzeichnis (Apache: DocumentRoot, nginx: root) auf das Unterverzeichnis public der neuen Struktur zu ändern.

    Datenbank (automatisch):
    Durch die automatische Datenbank-Migration werden die MySQL-Tabellen des MCP umbenannt und ihre Struktur teilweise verändert. Das macht MCP-Installationen ab dieser Version inkompatibel zu allen 1.x.x- und älteren Versionen.

    Downloads
     
  • release/1.4.0 ea2fffa872

    Ghost released this 2023-08-29 07:41:56 +00:00 | 64 commits to master since this release

    Identitäten und Benutzer müssen bisher manuell gelöscht werden, lassen sich aber unbegrenzt erstellen. Daher wurde eine Löschfunktion hinzugefügt.
    Außerdem wurde die Formatierung des Codes an gängige Standards angepasst.

    Changelog

    • Nutzer können Identitäten löschen
    • Nutzer können ihren eigenen Account und die zugehörigen Daten bei Bestätigung löschen
    • Benutzerverwaltung zeigt Accounts und zugehörige Identitäten ordnungsgemäß an
    • Administratoren können fremde Identitäten und Accounts löschen
    • Code wurde nach Vorgaben von PSR-12 formatiert
    Downloads
     
  • release/1.3.1 9a5182816f

    Ghost released this 2023-08-29 07:35:20 +00:00 | 70 commits to master since this release

    Es wurden kleinere Verbesserungen der Nutzererfahrung und Fehlerbehebungen vorgenommen.

    Changelog

    • Bei falschem oder fehlendem Einladungscode werden benutzerfreundliche Fehlermeldungen ausgegeben
    • Tippfehler "Neues Password festlegen" auf Passwortzurücksetzungsseite behoben
    • Referenzierung einer falschen Variable bei erfolgreichem Login behoben
    • Regionsstatistik-Array wird vor Referenzierung validiert, um Warnmeldung zu vermeiden
    Downloads
     
  • release/1.3.0 3b35e88a9f

    Ghost released this 2023-08-29 07:34:51 +00:00 | 74 commits to master since this release

    Mit diesem Update wurde eine "Passwort vergessen"-Funktion implementiert. Außerdem wurden Fehler behoben und die Performance optimiert.

    Changelog

    • Nutzer mit einer gültigen E-Mail-Adresse können, wie bei anderen Websites üblich, ihr Passwort zurücksetzen
    • Admins können einen Password-Reset-Link für beliebige Nutzer generieren. Die alte Funktion zum Setzen eines zufälligen Passworts wurde entfernt.
    • Template und Funktionen für automatische E-Mails hinzugefügt
    • PHPMailer auf neueste Version aktualisiert
    • Nicht eingeloggte Nutzer erhalten eine aussagekräftige Fehlermeldung, wenn sie auf Seiten zugreifen, die eine Anmeldung erfordern
    • Login-Seite ist effizienter und besitzt eine höhere Resistenz gegen Timing-Attacken
    • Fehlermeldungen bei Login geben keine Informationen über registrierte Nutzer preis
    • Fehlerhafte SQL-Anfragen korrigiert
    • Überflüssige Session-Variable "USERNAME" entfernt
    Downloads
     
  • release/1.2.2 463ab4abe0

    Ghost released this 2023-08-29 07:32:14 +00:00 | 84 commits to master since this release

    Durch verbesserte Validierung wurde sichergestellt, dass sich Einladungscodes nicht mehrfach nutzen lassen.

    Downloads
     
  • release/1.2.1 0140cf1a57

    Ghost released this 2023-08-29 07:30:25 +00:00 | 85 commits to master since this release

    Um die Kompatibilität zu OpenSimulator zu gewährleisten, wurde in dieser Version das Passwort-Hashing wieder auf MD5 + Salt umgestellt.

    Downloads
     
  • release/1.2.0 954794870e

    Ghost released this 2023-08-29 07:29:35 +00:00 | 86 commits to master since this release

    In dieser Version wurden auch die restlichen Komponenten des MCP abgesichert.
    Zudem wurden Fehler behoben und Optimierungen durchgeführt.

    Changelog

    • In allen Formularen und bei allen sonstigen Aktionen werden Nutzereingaben sorgfältig validiert und CSRF-Angriffe verhindert
    • Ungenutzte Komponenten (Google Authenticator, Discord-Anbindung) vorerst entfernt
    • Verbesserungen und Erweiterungen der Eingabevalidierung
    • Änderung von Passwörtern mit der Profilseite zusammengelegt
    • Nutzer können ihren Namen nicht mehr in einen bereits vergebenen Namen ändern
    • Fehlermeldungen werden nicht mehr unterdrückt (Error Control Operator)
    • Optimierung einiger Datenbankabfragen
    • Fehlerhaften Link aus dem Admin-Dashboard entfernt
    • Fehlerhafte HTML-Syntax auf der Profilseite behoben
    • Rechtschreib- und Tippfehler im UI behoben

    Aufgrund fehlender Kompatibilität des Hash-Algorithmus zur Nutzerverwaltung von OpenSimulator ist diese Version nicht zur produktiven Nutzung geeignet.

    Downloads
     
  • release/1.1.0 d5356a81c1

    Ghost released this 2023-08-29 07:26:59 +00:00 | 136 commits to master since this release

    Dieses Update dient primär der Behebung besonders gravierender Sicherheitsschwachstellen.
    Weitere Sicherheits- und Funktionsupdates sowie Fehlerbehebungen folgen in späteren Versionen.

    Changelog

    • Cross Site Request Forgery (CSRF) durch Session-Tokens verhindert
    • Nutzereingaben werden vor Einfügen in die HTML-Struktur ordnungsgemäß codiert
    • Eingabevalidierung an kritischen Stellen (u.a. Login und Registrierung) hinzugefügt bzw. verbessert
    • Argon2id als Passwort-Hash-Algorithmus eingesetzt; automatisches Rehashing bei zukünftigen Logins
    • Datenbankabfragen auf benötigte Spalten beschränkt
    • Statuscode 404 wird über vorgesehene Funktion gesetzt
    • Sichere Parameter für Session-Cookie gesetzt
    • HSTS-Header wird nicht mehr im Skript gesetzt, dies erledigt der Webserver

    Aufgrund fehlender Kompatibilität des Hash-Algorithmus zur Nutzerverwaltung von OpenSimulator ist diese Version nicht zur produktiven Nutzung geeignet.

    Downloads