|
Beschreibung
|
htaccess-Verwaltungstool für Apache-Webserver
PowerAccess ist ein leistungsstarkes, PHP-basiertes Tool zur einfachen Verwaltung von htaccess-Verzeichnisschutz über eine komfortable Weboberfläche. Mit PowerAccess können Webmaster und Administratoren ohne tiefgreifende technische Kenntnisse Verzeichnisse auf ihrem Webserver mit einem sicheren Passwortschutz versehen, Benutzer verwalten und Zugriffsrechte flexibel anpassen.
Das Tool wurde ursprünglich von Stefan "BFG" Kraemer entwickelt und wird seit 2007 von Nico Schubert weitergeführt und modernisiert. Die aktuelle Version wurde vollständig auf PHP 8.4 migriert und mit modernen Sicherheitsfunktionen ausgestattet.
Repository: github.com/schubertnico/PowerAccess
Systemvoraussetzungen
- PHP 8.4 oder höher
- Apache Webserver mit aktiviertem
mod_rewrite und mod_auth_basic
- Schreibrechte für das Verzeichnis, in dem PowerAccess installiert ist (für die
.htpasswd-Datei)
- Schreibrechte für alle Verzeichnisse, die geschützt werden sollen (für
.htaccess-Dateien)
- Docker (optional, für lokale Entwicklung und Tests)
Installation
Option 1: Direkte Installation auf dem Webserver
- Repository klonen oder ZIP herunterladen:
git clone https://github.com/schubertnico/PowerAccess.git
- Das Verzeichnis
PowerAccess (oder nur die paccess.php) auf den Webserver hochladen
- Schreibrechte setzen:
chmod 755 /pfad/zu/PowerAccess
- Im Browser aufrufen:
http://deine-domain.de/PowerAccess/paccess.php
- Wichtig: Das PowerAccess-Verzeichnis selbst als erstes mit einem Passwort schützen!
Option 2: Docker (empfohlen für Entwicklung)
- Repository klonen und in das Verzeichnis wechseln
- Container bauen und starten:
cd .docker && docker compose build && docker compose up -d
- Im Browser aufrufen:
http://localhost:8084/paccess.php
Schnellstart-Anleitung
- Benutzer anlegen: Öffne PowerAccess, klicke auf "User", gib Benutzername und Passwort ein
- Verzeichnis schützen: Klicke auf "Verzeichnisse", navigiere zum gewünschten Ordner, wähle die berechtigten Benutzer aus
- Fertig: Der Verzeichnisschutz ist sofort aktiv
Lizenz
PowerAccess steht unter der MIT-Lizenz und kann frei verwendet, modifiziert und weitergegeben werden.
Copyright (c) 2001-2005 PowerScripts (Stefan "BFG" Kraemer)
Copyright (c) 2007-2026 PowerScripts (Nico Schubert) |
|
Features
|
Benutzerverwaltung
Die umfassende Benutzerverwaltung ermöglicht die vollständige Kontrolle über alle Zugriffsberechtigungen:
- Benutzer anlegen: Erstelle neue Benutzer mit individuellem Benutzernamen und sicherem Passwort. Die Passwörter werden mit dem modernen
password_hash()-Algorithmus (bcrypt) verschlüsselt und in einer .htpasswd-Datei gespeichert - nicht mehr mit dem veralteten und unsicheren crypt().
- Benutzer löschen: Entferne nicht mehr benötigte Benutzer mit einem Klick aus dem System. Die Änderungen werden sofort wirksam.
- Passwort-Validierung: Bei der Erstellung eines neuen Benutzers muss das Passwort zur Bestätigung zweimal eingegeben werden, um Tippfehler zu vermeiden.
- Benutzername-Validierung: Benutzernamen dürfen nur Buchstaben (a-z, A-Z), Zahlen (0-9), Unterstriche (_) und Bindestriche (-) enthalten.
- Duplikat-Prüfung: Das System verhindert automatisch das Anlegen von Benutzern mit bereits existierenden Benutzernamen.
Verzeichnisschutz
Der Kern von PowerAccess - schütze beliebige Verzeichnisse auf deinem Webserver:
- Verzeichnisnavigation: Durchsuche die komplette Verzeichnisstruktur deines Webservers über eine intuitive, klickbare Oberfläche. Navigiere einfach durch Ordner, um das gewünschte Verzeichnis zu finden.
- Schutz erstellen: Wähle ein Verzeichnis aus und bestimme per Checkbox, welche Benutzer Zugriff erhalten sollen. PowerAccess erstellt automatisch eine korrekt konfigurierte
.htaccess-Datei mit allen notwendigen Einstellungen.
- Schutz bearbeiten: Ändere nachträglich jederzeit die Zugriffsrechte für ein bereits geschütztes Verzeichnis. Füge neue Benutzer hinzu oder entferne bestehende Berechtigungen.
- Schutz löschen: Entferne den Passwortschutz von einem Verzeichnis mit einem Klick. Die
.htaccess-Datei wird dabei gelöscht und das Verzeichnis ist wieder frei zugänglich.
- Benutzerdefinierter Titel: Lege einen eigenen, aussagekräftigen Titel für den Login-Dialog fest, der dem Besucher angezeigt wird (z.B. "Geschützter Bereich", "Admin-Login" oder "Kundenportal").
- Mehrfachauswahl: Erlaube mehreren Benutzern gleichzeitig den Zugriff auf ein Verzeichnis - ideal für Teams oder Arbeitsgruppen.
- Vererbung: Ein Verzeichnisschutz gilt automatisch auch für alle Unterverzeichnisse.
Sicherheitsfunktionen
PowerAccess wurde mit modernen Sicherheitsstandards entwickelt:
- XSS-Schutz (Cross-Site-Scripting): Alle Benutzereingaben werden vor der Ausgabe mit
htmlspecialchars() escaped. Eine zentrale e()-Funktion stellt sicher, dass keine unbehandelten Eingaben ausgegeben werden.
- CSRF-Schutz (Cross-Site-Request-Forgery): Jedes Formular enthält ein kryptografisch sicheres CSRF-Token, das bei der Verarbeitung validiert wird. Dies verhindert, dass Angreifer Aktionen im Namen eines angemeldeten Benutzers ausführen können.
- Path Traversal-Schutz: Alle Pfadangaben werden mit
realpath() validiert und gegen den erlaubten Basisordner geprüft. Dies verhindert zuverlässig, dass Angreifer auf Verzeichnisse außerhalb des erlaubten Bereichs zugreifen (z.B. durch ../-Sequenzen).
- Sichere Passwort-Speicherung: Passwörter werden mit dem modernen
password_hash()-Algorithmus (bcrypt) verschlüsselt. Der veraltete und unsichere crypt()-Algorithmus wird nicht mehr verwendet.
- Datei-Locking: Alle Dateizugriffe verwenden
LOCK_EX (exklusive Sperre), um Race Conditions bei gleichzeitigen Zugriffen zu vermeiden und Datenkonsistenz zu gewährleisten.
- Input-Validierung: Benutzernamen werden auf erlaubte Zeichen geprüft, bevor sie verarbeitet werden.
Benutzeroberfläche
Eine moderne, benutzerfreundliche Oberfläche für effizientes Arbeiten:
- Responsive Design: Die Oberfläche passt sich automatisch verschiedenen Bildschirmgrößen an - von Desktop bis Tablet.
- Übersichtliche Navigation: Schneller Wechsel zwischen Benutzerverwaltung, Verzeichnisschutz und FAQ über eine klare Menüführung.
- Statusmeldungen: Farblich hervorgehobene Erfolgs- und Fehlermeldungen informieren sofort über den Status jeder Aktion.
- Bestätigungsdialoge: Kritische Aktionen wie das Löschen von Benutzern oder Schutzeinstellungen erfordern eine explizite Bestätigung - versehentliches Löschen wird verhindert.
- Modernes Design: Ansprechendes dunkles Farbschema mit klarer Struktur und guter Lesbarkeit.
PHP 8.4 Kompatibilität
Die aktuelle Version wurde vollständig auf PHP 8.4 migriert und modernisiert:
declare(strict_types=1) für strenge Typprüfung aktiviert
- Veraltete Funktionen ersetzt:
split() durch explode(), ereg() durch preg_match()
- Moderne PHP-Funktionen:
str_starts_with() statt strpos() === 0
- Null-Coalescing-Operator
?? für sichere Default-Werte
- Alle Array-Keys sind korrekt quotiert
- Kurze PHP-Tags
<? durch <?php ersetzt
- Moderne HTML5-Dokumentstruktur
Entwickler-Tools
Für Entwickler stehen moderne Werkzeuge zur Verfügung:
- Docker-Unterstützung: Fertig konfigurierter Docker-Container (PHP 8.4 + Apache) für einfache lokale Entwicklung
- PHPStan: Statische Code-Analyse auf Level 6 zur Fehlererkennung
- Rector: Automatische Code-Migration und Modernisierung
- Composer: Dependency-Management für alle Entwickler-Tools
Dateistruktur
Übersichtliche Projektstruktur:
paccess.php - Hauptanwendung (alles in einer Datei)
.docker/ - Docker-Konfiguration für Entwicklung
composer.json - PHP-Abhängigkeiten
phpstan.neon - PHPStan-Konfiguration
rector.php - Rector-Konfiguration
README.md - Ausführliche Dokumentation
|