Skip to content

Releases: teris/Server-Management-Framework

3.2.7

12 Sep 12:50

Choose a tag to compare

3.2.7

Hinzugefügt

Erweiterte ISPConfig-API-Funktionen

Mail-Funktionen (12 Funktionen)
Sites-Funktionen (12 Funktionen)

ISPConfig-API-Erweiterungen

  • ISPConfigGet-Klasse erweitert: 37 neue GET-Methoden für DNS, Mail und Sites
  • ISPConfigPost-Klasse erweitert: 37 neue POST/PUT/DELETE-Methoden für DNS, Mail und Sites
  • Vollständige DNS-Record-Unterstützung: A, AAAA, CNAME, MX, TXT, NS, PTR, SRV, HINFO, NAPTR, RP, DS, Alias
  • Erweiterte Mail-Funktionalität: Domains, Aliases, Forwards, Catchalls, Blacklists, Whitelists, Spamfilter
  • Sites-Management: FTP-Users, Shell-Users, Cron-Jobs, Database-Users, Web-Subdomains, Aliasdomains

Dokumentation und Beispiele

  • ISPConfig_Funktionen_Übersicht.md: Vollständige Dokumentation aller neuen Funktionen
  • Beispiel-Verwendung: Detaillierte Code-Beispiele für alle Funktionskategorien
  • API-Referenz: Strukturierte Übersicht mit GET/POST-Funktionen

Technische Verbesserungen

  • Konsistente API-Struktur: Alle Funktionen folgen dem gleichen Muster
  • Erweiterte Fehlerbehandlung: Strukturierte Antworten mit Erfolg/Fehler-Status
  • API-Validierung: Automatische Prüfung ob ISPConfig aktiviert ist
  • Sichere Aufrufe: Verwendung der safeAPICall-Methode für alle neuen Funktionen
  • Filter-Unterstützung: Alle GET-Funktionen unterstützen optionale Filter-Parameter

Behoben

ServiceManager-Integration

  • safeAPICall-Parameter korrigiert: Alle neuen Funktionen verwenden korrekte Parameter-Reihenfolge
  • API-Name-Validierung: Konsistente Verwendung von 'ispconfig' als API-Name
  • Linter-Fehler behoben: Alle Type-Hint-Warnungen für safeAPICall-Aufrufe behoben

Technische Details

  • Framework-Erweiterung: 37 neue Methoden in der ServiceManager-Klasse
  • ISPConfig-API-Abdeckung: Vollständige Abdeckung der ISPConfig 3.x Remote-API
  • Rückwärtskompatibilität: Alle bestehenden Funktionen bleiben unverändert
  • Code-Qualität: Keine neuen Linter-Fehler, konsistente Code-Struktur

[3.2.6]

Behoben

Windows-spezifische Fehler

  • "Undefined array key 'node'" Fehler behoben: Kritischer Fehler in framework.php Zeilen 557 und 577 behoben
  • getNodes() Methode korrigiert: Gibt jetzt nur das data Array zurück statt der gesamten API-Antwort
  • Array-Key-Prüfung hinzugefügt: isset($nodeData['node']) Prüfung verhindert "Undefined array key" Warnungen
  • Konsistente Datenstruktur: Einheitliche Behandlung von Node-Daten zwischen getVMs() und getLXCs() Methoden
  • Disk-Space-Funktionen Windows-kompatibel: disk_free_space() und disk_total_space() Fehler in AdminCore.php behoben
  • Windows-Pfade hinzugefügt: XAMPP, WAMP, Laragon und Benutzer-Pfade für Windows-Umgebungen
  • Robuste Pfad-Prüfung: is_dir() und is_readable() Prüfungen vor Disk-Space-Abfragen
  • Array to String Conversion behoben: "Array to string conversion" Fehler in DatabaseManager.php Zeile 170 behoben
  • Robuste Parameter-Verarbeitung: Arrays werden automatisch zu JSON-Strings konvertiert in execute-Methoden

Technische Verbesserungen

  • Robuste Fehlerbehandlung: Verbesserte Behandlung von API-Fehlern in der Proxmox-Integration
  • Windows-Kompatibilität: Spezifische Behebung für Windows-Umgebungen (XAMPP, etc.)
  • Code-Stabilität: Verhindert PHP-Warnungen bei fehlenden Array-Keys

Geändert

  • getNodes() Rückgabewert: Gibt jetzt $response['data'] statt $response zurück
  • Node-Datenverarbeitung: isset() Prüfung für 'node' Key in allen Node-Iterationen
  • Fehlerbehandlung: Leere Arrays statt Fehler-Objekte bei API-Problemen

Technische Details

  • Betroffene Methoden: getNodes(), getVMs(), getLXCs(), getDiskUsage(), execute()
  • Betroffene Dateien: framework.php (Zeilen 528-545, 552, 572), src/core/AdminCore.php (Zeilen 844-890), src/core/DatabaseManager.php (alle execute-Methoden)
  • Windows-Pfade: C:, XAMPP, WAMP, Laragon, Benutzer-Desktop und -Dokumente
  • Fehlerbehandlung: @ Operator für disk-Space-Funktionen, Pfad-Existenz-Prüfung, Array-zu-JSON-Konvertierung
  • Datenbanktreiber: MySQL, PostgreSQL, SQLite - alle mit robuster Parameter-Verarbeitung
  • Kompatibilität: Rückwärtskompatibel, keine Breaking Changes

3.2.5

10 Sep 23:01

Choose a tag to compare

[3.2.5] - 2024-12-19

Proxmox-Modul - Erweiterte VM/Container-Verwaltung

Hinzugefügt

  • LXC-Container-Unterstützung: Vollständige Unterstützung für LXC-Container neben QEMU VMs
  • Node-Management: Detaillierte Node-Übersicht mit Status-Informationen und VM/Container-Zählung
  • Storage-Details: Umfassende Storage-Informationen mit Inhalt und Verfügbarkeit
  • Bestätigungs-Modals: Sichere Bestätigung für kritische Aktionen (Start/Stop/Delete)
  • Erweiterte VM-Aktionen: Reset, Resume und intelligente Button-Zustände
  • RAM-Formatierung: Anzeige von RAM-Größen in GB mit Dezimalstellen
  • Uptime-Berechnung: Automatische Berechnung und Anzeige der Laufzeit
  • Framework-Erweiterungen: ServiceManager-Unterstützung für QEMU und LXC

Geändert

  • Tab-basierte Navigation: Ersetzt Modal-Overlays durch intuitive Tab-Navigation
  • VM/Container-Liste: Verbesserte Darstellung mit Typ-Unterscheidung
  • Button-Logik: Intelligente Aktivierung/Deaktivierung basierend auf Status und Typ
  • API-Integration: Optimierte Nutzung der Proxmox VE REST API
  • Fehlerbehandlung: Verbesserte Fehlermeldungen und Benutzer-Feedback

Technische Verbesserungen

  • Framework-Integration: Erweiterte ServiceManager-Klasse für LXC-Unterstützung
  • API-Endpunkte: Vollständige Abdeckung aller Proxmox-API-Funktionen
  • Code-Struktur: Modularisierte JavaScript-Architektur
  • Performance: Optimierte Datenladung und Caching

Bekannte Einschränkungen

  • VM/Container-Erstellung: Noch nicht implementiert (geplant für v1.2.0)
  • VM/Container-Bearbeitung: Konfigurationsänderungen noch nicht verfügbar
  • Bulk-Operationen: Mehrere VMs/Container gleichzeitig verwalten noch nicht möglich

3.2.3

09 Sep 19:43

Choose a tag to compare

File-Editor Modul - Verbesserungen

Behoben

  • Code-Ausführung verhindert: PHP/HTML/JavaScript-Code wird nicht mehr im Hintergrund ausgeführt beim Öffnen von Dateien
  • Sichere Content-Übertragung: Dateiinhalt wird nur als reiner Text angezeigt, keine Interpretation oder Ausführung
  • ACE Editor Fehler behoben: ace.edit can't find div #file-editor-ace Fehler behoben
  • Robuste Fallback-Lösung: Automatischer Wechsel zur Textarea bei ACE Editor Problemen

Geändert

  • Backup-Formatierung: Backup-Dateien verwenden jetzt das Format <dateiname>.<dateiendung>.bnk anstatt Zeitstempel
  • Automatisches Überschreiben: Backup-Dateien werden ohne Aufforderung überschrieben
  • Verbesserte Sicherheit: Getrennte Datenebenen für HTML und JavaScript

Technische Verbesserungen

  • Sichere JavaScript-Initialisierung: Inhalt wird aus Textarea geladen, nicht direkt eingebettet
  • Debug-Logs: Erweiterte Logging-Funktionen für bessere Fehlerdiagnose
  • Element-Prüfung: Robuste Prüfung auf DOM-Element-Existenz vor ACE Editor Initialisierung

Sicherheit

  • Keine Code-Ausführung: Alle Dateitypen werden nur als reiner Text behandelt
  • HTML-Escaping: Alle Inhalte werden sicher escaped
  • Sichere Übertragung: Keine direkte Einbettung von potentiell gefährlichem Code in JavaScript

3.1.9

08 Sep 18:07

Choose a tag to compare

Geändert

  • Support-Tickets-Modul Übersetzungen: Vollständige Umstellung auf die neue globale t()-Funktion
  • Support-Tickets-Modul Template: Entfernung der manuellen Übersetzungs-Arrays und Vereinfachung der Template-Logik
  • Support-Tickets-Modul JavaScript: Keine Änderungen erforderlich - bereits optimiert mit direkten deutschen Texten
  • Modul-System: Konsistente Verwendung der globalen t()-Funktion in allen Modulen

Technische Details

  • Entfernte Funktionen: Manuelle $translations-Arrays aus getContent()-Methode
  • Vereinfachte Templates: Keine manuellen Übersetzungs-Arrays mehr erforderlich
  • Automatische Modul-Erkennung: Support-Tickets-Modul nutzt jetzt die automatische Modul-Erkennung der globalen t()-Funktion
  • Konsistente Übersetzungen: Alle Template-Strings verwenden jetzt die globale t()-Funktion

Verbesserungen

  • Wartbarkeit: Einfachere Wartung durch zentrale Übersetzungslogik
  • Performance: Reduzierte Server-Last durch Entfernung redundanter Übersetzungsabfragen
  • Konsistenz: Einheitliche Übersetzungsbehandlung in allen Modulen

3.1.2

07 Sep 17:49

Choose a tag to compare

Hinzugefügt

  • Manual Updater mit folgenden Funktionen:
    • Automatische Versionsprüfung über GitHub API (Latest und Tag-basierte Releases)
    • Versionsvergleich mit CHANGELOG.md und Nightly-Erkennung (Stable vs. Nightly)
    • Update-Typen: Framework Only und Vollständiges Update (Asset-Auswahl je nach Typ)
    • Optionales Backup vor Installation (Dateien und – optional – Datenbank)
    • Mehrsprachigkeit (DE/EN) via Framework-t() Integration
  • Backup-Management im Admin-Panel:
    • Erstellung von ZIP-Backups mit Datei- und optionalem Datenbank-Inhalt
    • Auflistung vorhandener Backups inkl. Größe, Datum und Aktionen (Download/Löschen)
    • Debug-/Test-Tools: Debug-Infos, ZIP-Test, schrittweiser Backup-Test
  • UI/UX für Updates:
    • Systeminfo (PHP-Version, ZIP-Status, Temp-Verzeichnis)
    • Auswahl des Update-Typs, Fortschrittsbalken und Live-Log-Ausgabe

3.1.0

03 Sep 11:45

Choose a tag to compare

[3.1.0]

Hinzugefügt

  • Multi-Datenbank-Support: Separate SQL-Dateien für MySQL, PostgreSQL und SQLite
  • Optimierte Indizes: Performance-optimierte Indizes für alle häufig verwendeten Abfragen
  • Views: Übersichts-Views für komplexe Abfragen (user_activity_overview, vm_overview, website_overview)
  • Verbesserte Constraints: Vollständige Foreign Key Constraints für Datenintegrität
  • Standarddaten: Grunddaten für sofortige Nutzung nach Installation
  • Dokumentation: Umfassende Dokumentation und Migrationsleitfaden

Geändert

  • Tabellenstruktur: Optimierte Spaltentypen und -größen
  • Namenskonventionen: Einheitliche Namenskonventionen für alle Tabellen und Spalten
  • Auto-Increment: Konsistente Auto-Increment Konfiguration
  • Timestamps: Standardisierte created_at und updated_at Felder

Entfernt

  • Nicht verwendete Tabellen: Entfernung von 10 nicht im System verwendeten Tabellen:
    • backup_jobs - Backup-Jobs (nicht im Code verwendet)
    • domain_extensions - Domain-Erweiterungen (nicht verwendet)
    • groups - Gruppen (nicht verwendet)
    • group_module_permissions - Gruppen-Modul-Berechtigungen (nicht verwendet)
    • module_configs - Modul-Konfigurationen (nicht verwendet)
    • module_dependencies - Modul-Abhängigkeiten (nicht verwendet)
    • module_permissions - Modul-Berechtigungen (nicht verwendet)
    • network_config - Netzwerk-Konfiguration (nicht verwendet)
    • server_resources - Server-Ressourcen (nicht verwendet)
    • active_modules - Aktive Module (nicht verwendet)

Behoben

  • Datenintegrität: Vollständige Referential Integrity durch Foreign Keys
  • Performance: Optimierte Abfragen durch bessere Indizierung
  • Wartbarkeit: Konsistente Struktur für einfachere Wartung

Technische Details

  • MySQL/MariaDB als Hauptdatenbank
  • UTF8 Zeichensatz
  • InnoDB Engine
  • Basis-Indizes
  • Grundlegende Constraints

MySQL/MariaDB (database-structure-optimized.sql)

  • UTF8MB4 Zeichensatz für vollständige Unicode-Unterstützung
  • InnoDB Engine für Transaktionssicherheit
  • Optimierte Indizes für alle Abfrage-Patterns
  • Views für komplexe Übersichtsabfragen

PostgreSQL (database-structure-postgresql.sql)

  • Native ENUM-Typen für bessere Typsicherheit
  • JSONB für Konfigurationsdaten
  • SERIAL für Auto-Increment Felder
  • Trigger für automatische updated_at Aktualisierung
  • PostgreSQL-spezifische Views

SQLite (database-structure-sqlite.sql)

  • CHECK Constraints für ENUM-Simulation
  • INTEGER PRIMARY KEY für Auto-Increment
  • Trigger für updated_at Felder
  • SQLite-optimierte Views
  • WAL-Modus für bessere Performance

3.0.9

02 Sep 17:56

Choose a tag to compare

[3.0.9]

Fehlerbehebung

  • Model-Klasse erweitert: Der Konstruktor akzeptiert jetzt einen optionalen $data Parameter
  • Daten-Speicherung hinzugefügt: Eine $data Eigenschaft zum Speichern der übergebenen Daten
  • Hilfsmethoden hinzugefügt: getData() und setData() Methoden für den Zugriff auf die Daten
  • Fehlende Klasse hinzugefügt: ActivityLog Klasse hinzugefügt, die von Model erbt

Geändert

  • bind_param("ss", $admin_user, $admin_email) → execute([$admin_user, $admin_email])
  • get_result() → fetchAll()
  • num_rows → count($result)
  • close() entfernt (nicht nötig bei PDO)
  • $conn->ping() durch !$conn->connect_error ersetzt
  • Null-Check für den Rückgabewert von getDashboardStats()
  • getConnection() Aufrufe ersetzt

###Technische Verbesserung

  • Sicherstellung, dass immer ein gültiger Wert an $this->success() übergeben wird
  • MongoDBClientDummy für \MongoDB\Client
  • MongoDBUTCDateTimeDummy für \MongoDB\BSON\UTCDateTime
  • MongoDBDatabaseDummy für \MongoDB\Database
  • MongoDBCollectionDummy für \MongoDB\Collection
  • MongoDBInsertOneResultDummy für \MongoDB\InsertOneResult
  • MongoDBDeleteResultDummy für \MongoDB\DeleteResult
  • MongoDBCursorDummy für \MongoDB\Driver\Cursor

Bekannte Probleme

  • PHP1408 Fehler in src/core/AdminCore.php

Hinzugefügt

  • Eine neue private Methode getSafeDbConnection() wurde erstellt
  • createOGPUser($userData) - Erweiterte OGP Benutzererstellung
  • createProxmoxUser($userData) - Erweiterte Proxmox Benutzererstellung

[3.0.8]

Fehlerbehebung

  • Linter-Fehler P1006: Alle "Expected type 'object'. Found 'null'" Fehler wurden behoben
  • Robustheit: Zusätzliche Sicherheit durch explizite Null-Checks
  • Konsistenz: Alle Proxmox-Methoden haben jetzt einheitliche Fehlerbehandlung
  • Typsicherheit: Der Linter kann jetzt sicher sein, dass die Objekte nicht null sind
  • Undefined property: VM::$state - Der Hauptfehler wurde durch robuste Eigenschaftsabfrage behoben
  • Verbesserte Fehlerbehandlung - Alle Eigenschaftszugriffe sind jetzt sicher
  • Konsistente Codestruktur - Einheitliche Behandlung von Objekten und Arrays

[3.0.7]

Fehlerbehebung

  • Fehler im Regestationsporzess der Systemanmeldungen
  • Fehler in der Verwendung von createISPConfigUser()

Benutzerregestration

  • Benutzer werden nun automatisch per E-Mail benachrichtigt
  • Verifizierungsprozess erzeugt benutzer inkl. Random Passwörter in den Systemen
  • Login in die Systeme einzelnd möglich

Sicherheit

  • Verifizierung ist nur 24h Gültig
  • Bei Aktivierung des Benutzers aus dem BackEnd, werden keine weiteren System-Benutzer angelegt

[3.0.6]

Fehlerbehbung

  • Der DatabaseManager hatte zwei kritische Fehler, die zu Fatal Errors führten:
  • Pfadfehler (src/inc/settings.php)
  • Query-Methode Fehler (src/core/DatabaseManager.php)

Auswirkungen der Korrektur

  1. Pfadfehler behoben: DatabaseManager.php wird korrekt geladen
  2. Query-Methode funktioniert: fetchAll() kann auf Statement-Objekt aufgerufen werden
  3. Datenbankabfragen funktionieren: Alle SELECT-Statements in settings.php laufen korrekt
  4. Keine Fatal Errors mehr: Script läuft ohne kritische Fehler

Sicherheitshinweise

  • Alle Änderungen sind rückwärtskompatibel
  • Keine Änderungen an der API-Schnittstelle
  • Bestehender Code funktioniert unverändert weiter
  • Keine Breaking Changes

Full Changelog: 3.0.5...3.0.9

3.0.5 Major Release

16 Aug 19:37

Choose a tag to compare

[3.0.5] Major Release

Neue Features

Datenbank-Abstraktionsschicht (DAL)

  • Neue Datenbankunterstützung: Vollständige Unterstützung für MySQL/MariaDB, PostgreSQL, SQLite und MongoDB
  • Konfigurierbare Datenbankauswahl: Neue Konstante DB_TYPE in config/config.inc.php für einfache Datenbankumschaltung
  • Neue Datei: src/core/DatabaseManager.php - Zentrale Datenbankverwaltung mit abstrakten Treibern
  • Neue Datei: src/core/ActivityLogger.php - Zentrales Aktivitäts-Logging-System
  • Neue Datei: DATABASE_MIGRATION.md - Umfassende Dokumentation der Datenbankmigration

Admin-Benutzerverwaltung

  • Unified User Management: Anzeige und Verwaltung von Admin-Benutzern und Frontpanel-Kunden in einer Oberfläche
  • Erweiterte Benutzerfilter: Neue Filter für Benutzertyp, Status und Rolle
  • Kundenverwaltung: Vollständige CRUD-Operationen für Frontpanel-Kunden aus dem Admin-Bereich

Dashboard-Erweiterungen

  • Domain-Status-Anzeige: Neue Anzeige der Domain-Registrierungsstatus im Format approved/rejected?pending
  • Farbkodierte Status: Grün für approved, Rot für rejected, Gelb für pending
  • Aktivitäts-Logging: Umfassendes Logging aller Benutzeraktionen (Login, Support-Tickets, Domain-Registrierungen, etc.)
  • "Alle löschen" Button: Möglichkeit, alle Benutzeraktivitäten zu löschen mit Protokollierung der Aktion

Version 3.0.4

14 Aug 17:09

Choose a tag to compare

[3.0.4]

Entfernt

  • Übermäßiges Loggin - auskommentiert der funtkon logRequest in den Generischen Funktionen

Hinzugefügt

  • Manuelles Loggin - Neue Methode zum erstellen von Logs hinzugefügt __log($action, $details, $status = 'info')
  • Für Manuelles Loggin muss die Tabele im SQL angepasst werden
    ALTER TABLE activity_log
    MODIFY COLUMN status enum('success','error','pending','info') NOT NULL;
  • Testfunktion für allgemeinen test Hinzugefügt __test()

Behoben

  • ISPConfigAPI Fehler IspconfigAPI Error: SoapFault::SoapFault() expects at least 2 parameters, 1 given behoben

[3.0.3]

Geändert

  • Fehler behoben beim Aufruf der funktion IspconfigAPI durch das _get, _update, _add, delete als Suffix angefügt wurde

Version 3.0.0 RC

11 Aug 18:40

Choose a tag to compare

Hinzugefügt

  • Frontpanel - Server Management System - Vollständiges öffentliches Frontend für Kunden
  • Server-Status Dashboard - Live-Überwachung von Proxmox VMs und Game Servern
  • Responsive Design - Optimiert für alle Geräte (Desktop, Tablet, Mobile)
  • Moderne UI - Bootstrap 5 mit Custom CSS und Animationen
  • Real-time Updates - Automatische Status-Updates alle 30 Sekunden
  • Kundenregistrierung - Einfache Registrierung mit E-Mail-Verifikation
  • Kundenlogin - Sichere Authentifizierung mit Remember-Me-Funktion
  • Account-Management - Persönliche Einstellungen und Profilverwaltung
  • Support-Tickets - Vollständiges Ticket-System für Kundenanfragen
  • Ticket-Erstellung - Einfaches Formular für Support-Anfragen
  • Prioritätsstufen - Low, Medium, High, Urgent
  • E-Mail-Benachrichtigungen - Automatische Bestätigungen und Updates
  • Admin-Benachrichtigungen - Sofortige Benachrichtigung bei neuen Tickets
  • Auto-Refresh Funktionalität - jQuery-basierte Auto-Aktualisierung aller Server-Status-Daten alle 10 Sekunden
  • Echtzeit-Updates - Proxmox VMs, Game Server und System-Informationen werden automatisch aktualisiert
  • Manueller Refresh-Button - Hinzugefügter manueller Aktualisierungs-Button mit Spinner-Animation
  • Lade-Indikatoren - Visuelle Lade-Indikatoren während der Status-Aktualisierung
  • Intelligente Aktualisierung - Auto-Refresh wird pausiert, wenn der Tab nicht sichtbar ist
  • Game Server Anzeige verbessert - Korrekte Verarbeitung der OGP API-Antwort-Struktur
  • Neue Game Server-Felder - Spiel-Typ, Server-Name, IP-Adresse, Port
  • E-Mail-Verifikationssystem - Vollständiger Workflow für neue Kundenregistrierungen
  • Kunden-Dashboard - Hauptseite für angemeldete Kunden mit Übersicht und Funktionen
  • Session-Management - Sichere Verwaltung von Kunden-Sessions
  • Multi-Sprachunterstützung - Deutsche und englische Übersetzungen für alle Kunden-Seiten

Geändert

  • Framework.php erweitert - PDO Wrapper-Methoden für bessere Datenbank-Kompatibilität hinzugefügt
  • Datenbank-Klasse verbessert - Direkte PDO-Methoden wie prepare(), query(), exec() verfügbar gemacht
  • Sprachdateien erweitert - Umfassende Übersetzungen für Kundenregistrierung, Login und Dashboard
  • Status-API verbessert - Bessere Fehlerbehandlung und Caching-Mechanismen
  • UI/UX verbessert - Erweiterte Benutzeroberfläche mit Zeitstempel der letzten Aktualisierung

Behoben

  • Fatal Error behoben - Call to undefined method Database::prepare() vollständig behoben
  • VM Object Access Fehler - Cannot use object of type VM as array Fehler vollständig behoben
  • Game Server Array-Zugriff Fehler - Cannot access offset of type string on string bei Game Server-Daten behoben
  • open_basedir Fehler - Alle Verzeichniszugriffe mit @ Operator und try-catch abgesichert
  • Dateipfad-Fehler - framework.php wird jetzt korrekt aus dem Root-Verzeichnis geladen
  • Funktionskonflikte - Mit t() Funktion behoben
  • Datenbank-Verbindungsprobleme - Robuste Implementierung der System-Informationen-Methoden

Sicherheit

  • Passwort-Hashing - Bcrypt mit hoher Kosten implementiert
  • SQL-Injection-Schutz - Prepared Statements durchgängig verwendet
  • XSS-Schutz - HTML-Escaping aller Ausgaben
  • CSRF-Schutz - Session-basierte Token-Validierung
  • Brute-Force-Schutz - Account-Sperrung nach fehlgeschlagenen Logins
  • Rate-Limiting - API-Aufrufe pro IP-Adresse begrenzt