|
Beschreibung
|
PowerPHPBoard ist ein leichtgewichtiges, sicheres Forum-System in PHP - ursprünglich 2001 von Stefan "BFG" Kramer im Stil klassischer phpBB-/vBB-Foren entwickelt und 2026 vollständig modernisiert. Die aktuelle Version baut auf PHP 8.4 mit Strict Types, Match Expressions und readonly-Eigenschaften, nutzt PDO mit Prepared Statements für jeden Datenbank-Zugriff und liefert ein durchgängiges Bootstrap-5-Frontend - die schlanke, fokussierte Forum-Idee bleibt erhalten, der Unterbau ist auf aktuellem Stand der PHP-Welt.
Das Frontend wurde mit Version 2.2 komplett auf Bootstrap 5.3.3 umgebaut. Cards strukturieren jede Sektion, Tabellen sind responsive (`table-responsive`), Forms nutzen `form-control`, `form-select`, `form-check` und `invalid-feedback`, Status- und Fehlermeldungen werden durchgehend über `alert-success/danger/warning/info` ausgegeben. Statt der alten GIF-Icons kommen Bootstrap-Icons via CDN mit SRI-Hashes zum Einsatz. Die normale Forum-Navbar ist dunkel (`navbar-dark bg-dark`), die Admin-Navbar bewusst rot (`bg-danger`), um Frontend- und Admin-Kontext visuell klar zu trennen. Mobile Nutzer bekommen eine Hamburger-Navbar und responsive Tabellen - ein Lighthouse-Audit attestiert 100/100/100/100 in Accessibility, Best Practices, SEO und Agentic.
Die Sicherheits-Schicht ist vollständig auf modernen Stand gebracht: Argon2id als Default-Hash mit automatischer Migration alter Hashes beim Login, CSRF-Token auf allen POST-Formularen, Prepared Statements durchgängig per PDO, Whitelist-`strip_tags` plus `htmlspecialchars` als XSS-Schutz, HttpOnly-Session-Cookies mit `SameSite=Strict` und Secure-Flag, sowie token-basierter Passwort-Reset mit einmaligen, zeitlich begrenzten Tokens. Rate-Limiting gegen Brute-Force greift auf DB-Ebene für Login und Passwort-Reset, einheitliche Fehlermeldungen verhindern User-Enumeration, ein `UNIQUE`-Constraint auf `username` macht Race-Conditions bei der Registrierung unmöglich.
Funktional bietet PowerPHPBoard alles, was ein klassisches Community-Forum braucht: Foren mit Kategorien, Boards, Threads und Posts; Benutzerregistrierung, Profilverwaltung, Signaturen und Userränge; private Boards mit Passwortschutz; mehrere Moderatoren pro Board und eine eigene Admin-Rolle; BBCode, Smilies und optional HTML (pro Forum abschaltbar); eine eingebaute "Jump-to-last-posting"-Funktion sowie die Anzeige neuer Beiträge für registrierte Benutzer. Eine integrierte E-Mail-Funktion versorgt Registrierungen, Passwort-Reset und User-zu-User-Nachrichten - lokal über Mailpit, produktiv über jeden SMTP-Server.
Für die Entwicklung liegt ein vollständiger Docker-Compose-Stack bei: Forum-Container, MySQL, Mailpit für E-Mail-Tests und phpMyAdmin für die DB-Verwaltung. Beim ersten Start wird `install.sql` automatisch geladen, ein Admin-Account wird angelegt, Test-User stehen für lokale Klick-Sessions bereit. Die Toolchain ist eng verzahnt: PHPStan Level 8 ohne Errors, PHP-CS-Fixer mit PSR-12 plus projektweiten Regeln, PHPMD clean, Psalm und Rector verfügbar, Infection für Mutation-Testing - alles in einer grünen GitHub-Actions-Pipeline auf PHP 8.4. Die 198 PHPUnit-Tests (137 Unit, 61 Feature) mit 362 Assertions decken sowohl Einzelmethoden als auch komplette HTTP-Flows ab.
PowerPHPBoard eignet sich für kleine bis mittelgroße Communities, Vereinsforen, Hobby-Projekte und Lehrzwecke gleichermaßen. Wer sucht, wie eine sauber modernisierte Legacy-PHP-Anwendung aussieht - klare Trennung von Frontend, Logik und Datenbank, durchgehende statische Analyse, vollständig dokumentierte Toolchain - bekommt mit dem Projekt ein praxistaugliches Beispiel und zugleich ein produktiv einsetzbares, MIT-lizenziertes Forum. Quellcode, Releases und Dokumentation liegen offen auf GitHub. |
|
Features
|
PowerPHPBoard ist ein vollständiges Foren-System für moderne PHP-8.4-Umgebungen - die folgenden Bausteine decken Forum-Funktionen, Adminbereich, Sicherheit und Toolchain ab.
- Forum-Struktur: Kategorien, Boards, Threads und Posts inklusive "Jump-to-last-posting"-Funktion sowie Anzeige neuer Beiträge für registrierte Benutzer.
- Usersystem: Registrierung, Profilverwaltung, Signaturen, Biografie und konfigurierbare Userränge.
- Private Boards: Passwortgeschützte Foren für ausgewählte Benutzergruppen.
- Moderation: Mehrere Moderatoren pro Board, Admin-Rolle mit eigener roter Admin-Navbar.
- BBCode & Smilies: Standard-BBCode-Tags, Smiley-Ersatz und optional HTML - jederzeit pro Forum abschaltbar.
- E-Mail-Versand: Registrierungs-Mails, token-basierter Passwort-Reset und User-zu-User-Nachrichten über die eingebaute Funktion.
- Mehrsprachig: Deutsch-Du, Deutsch-Sie und Englisch als vollständige, synchron gepflegte Sprachpakete.
- Bootstrap-5-Frontend: Komplettes Layout auf Bootstrap 5.3.3 mit Cards, responsiven Tabellen, Forms und Alerts.
- Bootstrap-Icons: Vektor-Icons statt Legacy-GIFs für Status-Anzeigen (gelesen/ungelesen, gesperrt, privat).
- Adminbereich: Nutzerliste mit Filter-Tabs, Pagination und Volltext-Suche; Lösch-Funktion mit Gefahrenzone-Card; Color-Preview neben jedem Hex-Farb-Input.
- Argon2id-Hashing: Aktuelles Passwort-Hashing mit automatischer Migration alter Hashes beim Login.
- CSRF-Schutz: Token-Validierung auf allen POST-Formularen.
- Prepared Statements: Durchgängig PDO - keine String-Konkatenation im SQL.
- Rate-Limiting: Brute-Force-Schutz für Login und Passwort-Reset auf DB-Ebene.
- Sichere Sessions: HttpOnly-Cookies, SameSite=Strict, Secure-fertig.
- XSS-Prävention: htmlspecialchars und Whitelist-strip_tags für Signaturen.
- Lighthouse 100/100/100/100: Accessibility, Best Practices, SEO und Agentic vollständig grün.
- PHPUnit-Tests: 198 Tests (137 Unit + 61 Feature) mit 362 Assertions, alle grün.
- Statische Analyse: PHPStan Level 8, PHPMD und PHP-CS-Fixer ohne Findings; GitHub-Actions-Pipeline auf PHP 8.4.
- Docker-Stack: Forum, MySQL, Mailpit und phpMyAdmin per docker compose; install.sql wird beim ersten Start automatisch importiert.
Voraussetzungen: PHP 8.4 oder neuer mit den Standard-Extensions (PDO, mbstring, openssl) sowie eine MySQL- bzw. MariaDB-Datenbank. Für die lokale Entwicklung empfohlen: Docker Desktop oder docker compose v2 plus Composer für die Test- und Tooling-Dependencies.
Geeignet für kleine bis mittelgroße Communities, Vereinsforen, Hobby-Projekte sowie als Lehrbeispiel für eine sauber modernisierte Legacy-PHP-Anwendung - klare Trennung von Frontend, Logik und Datenbank, durchgehende statische Analyse und eine vollständig dokumentierte Toolchain. |