|
PowerAccess |
|
Projekt
|
PowerAccess |
|
Aktuelle Version
|
2.00 |
|
Beschreibung
|
htaccess-Verwaltungstool fuer Apache-Webserver
PowerAccess ist ein leistungsstarkes, PHP-basiertes Tool zur einfachen Verwaltung von htaccess-Verzeichnisschutz ueber eine komfortable Weboberflaeche. Mit PowerAccess koennen 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 urspruenglich von Stefan "BFG" Kraemer entwickelt und wird seit 2007 von Nico Schubert weitergefuehrt und modernisiert. Die aktuelle Version wurde vollstaendig auf PHP 8.4 migriert und mit modernen Sicherheitsfunktionen ausgestattet.
Repository: github.com/schubertnico/PowerAccess
Systemvoraussetzungen
- PHP 8.4 oder hoeher
- Apache Webserver mit aktiviertem
mod_rewrite und mod_auth_basic
- Schreibrechte fuer das Verzeichnis, in dem PowerAccess installiert ist (fuer die
.htpasswd-Datei)
- Schreibrechte fuer alle Verzeichnisse, die geschuetzt werden sollen (fuer
.htaccess-Dateien)
- Docker (optional, fuer 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 schuetzen!
Option 2: Docker (empfohlen fuer 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: Oeffne PowerAccess, klicke auf "User", gib Benutzername und Passwort ein
- Verzeichnis schuetzen: Klicke auf "Verzeichnisse", navigiere zum gewuenschten Ordner, waehle 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 ermoeglicht die vollstaendige Kontrolle ueber alle Zugriffsberechtigungen:
- Benutzer anlegen: Erstelle neue Benutzer mit individuellem Benutzernamen und sicherem Passwort. Die Passwoerter werden mit dem modernen
password_hash()-Algorithmus (bcrypt) verschluesselt und in einer .htpasswd-Datei gespeichert - nicht mehr mit dem veralteten und unsicheren crypt().
- Benutzer loeschen: Entferne nicht mehr benoetigte Benutzer mit einem Klick aus dem System. Die Aenderungen werden sofort wirksam.
- Passwort-Validierung: Bei der Erstellung eines neuen Benutzers muss das Passwort zur Bestaetigung zweimal eingegeben werden, um Tippfehler zu vermeiden.
- Benutzername-Validierung: Benutzernamen duerfen nur Buchstaben (a-z, A-Z), Zahlen (0-9), Unterstriche (_) und Bindestriche (-) enthalten.
- Duplikat-Pruefung: Das System verhindert automatisch das Anlegen von Benutzern mit bereits existierenden Benutzernamen.
Verzeichnisschutz
Der Kern von PowerAccess - schuetze beliebige Verzeichnisse auf deinem Webserver:
- Verzeichnisnavigation: Durchsuche die komplette Verzeichnisstruktur deines Webservers ueber eine intuitive, klickbare Oberflaeche. Navigiere einfach durch Ordner, um das gewuenschte Verzeichnis zu finden.
- Schutz erstellen: Waehle 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: Aendere nachtraeglich jederzeit die Zugriffsrechte fuer ein bereits geschuetztes Verzeichnis. Fuege neue Benutzer hinzu oder entferne bestehende Berechtigungen.
- Schutz loeschen: Entferne den Passwortschutz von einem Verzeichnis mit einem Klick. Die
.htaccess-Datei wird dabei geloescht und das Verzeichnis ist wieder frei zugaenglich.
- Benutzerdefinierter Titel: Lege einen eigenen, aussagekraeftigen Titel fuer den Login-Dialog fest, der dem Besucher angezeigt wird (z.B. "Geschuetzter Bereich", "Admin-Login" oder "Kundenportal").
- Mehrfachauswahl: Erlaube mehreren Benutzern gleichzeitig den Zugriff auf ein Verzeichnis - ideal fuer Teams oder Arbeitsgruppen.
- Vererbung: Ein Verzeichnisschutz gilt automatisch auch fuer 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 enthaelt ein kryptografisch sicheres CSRF-Token, das bei der Verarbeitung validiert wird. Dies verhindert, dass Angreifer Aktionen im Namen eines angemeldeten Benutzers ausfuehren koennen.
- Path Traversal-Schutz: Alle Pfadangaben werden mit
realpath() validiert und gegen den erlaubten Basisordner geprueft. Dies verhindert zuverlaessig, dass Angreifer auf Verzeichnisse ausserhalb des erlaubten Bereichs zugreifen (z.B. durch ../-Sequenzen).
- Sichere Passwort-Speicherung: Passwoerter werden mit dem modernen
password_hash()-Algorithmus (bcrypt) verschluesselt. 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 gewaehrleisten.
- Input-Validierung: Benutzernamen werden auf erlaubte Zeichen geprueft, bevor sie verarbeitet werden.
Benutzeroberflaeche
Eine moderne, benutzerfreundliche Oberflaeche fuer effizientes Arbeiten:
- Responsive Design: Die Oberflaeche passt sich automatisch verschiedenen Bildschirmgroessen an - von Desktop bis Tablet.
- Uebersichtliche Navigation: Schneller Wechsel zwischen Benutzerverwaltung, Verzeichnisschutz und FAQ ueber eine klare Menuefuehrung.
- Statusmeldungen: Farblich hervorgehobene Erfolgs- und Fehlermeldungen informieren sofort ueber den Status jeder Aktion.
- Bestaetigungsdialoge: Kritische Aktionen wie das Loeschen von Benutzern oder Schutzeinstellungen erfordern eine explizite Bestaetigung - versehentliches Loeschen wird verhindert.
- Modernes Design: Ansprechendes dunkles Farbschema mit klarer Struktur und guter Lesbarkeit.
PHP 8.4 Kompatibilitaet
Die aktuelle Version wurde vollstaendig auf PHP 8.4 migriert und modernisiert:
declare(strict_types=1) fuer strenge Typpruefung aktiviert
- Veraltete Funktionen ersetzt:
split() durch explode(), ereg() durch preg_match()
- Moderne PHP-Funktionen:
str_starts_with() statt strpos() === 0
- Null-Coalescing-Operator
?? fuer sichere Default-Werte
- Alle Array-Keys sind korrekt quotiert
- Kurze PHP-Tags
<? durch <?php ersetzt
- Moderne HTML5-Dokumentstruktur
Entwickler-Tools
Fuer Entwickler stehen moderne Werkzeuge zur Verfuegung:
- Docker-Unterstuetzung: Fertig konfigurierter Docker-Container (PHP 8.4 + Apache) fuer einfache lokale Entwicklung
- PHPStan: Statische Code-Analyse auf Level 6 zur Fehlererkennung
- Rector: Automatische Code-Migration und Modernisierung
- Composer: Dependency-Management fuer alle Entwickler-Tools
Dateistruktur
Uebersichtliche Projektstruktur:
paccess.php - Hauptanwendung (alles in einer Datei)
.docker/ - Docker-Konfiguration fuer Entwicklung
composer.json - PHP-Abhaengigkeiten
phpstan.neon - PHPStan-Konfiguration
rector.php - Rector-Konfiguration
README.md - Ausfuehrliche Dokumentation
|
|
[ Download ]
|
|
|