PowerScripts
Homepage
» Startseite
» News
» Downloads
» FAQ
» Impressum
» Datenschutz
Menü-Abschluss

PowerScripts
» PowerAccess
» PowerBook
» PowerClan
» PowerDownload
» PowerNews
» PowerPHPBoard

» Nutzungslizenz
» Service
» Referenzen
Menü-Abschluss

Verwaltung
» Login
Menü-Abschluss

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

  1. Repository klonen oder ZIP herunterladen:
    git clone https://github.com/schubertnico/PowerAccess.git
  2. Das Verzeichnis PowerAccess (oder nur die paccess.php) auf den Webserver hochladen
  3. Schreibrechte setzen: chmod 755 /pfad/zu/PowerAccess
  4. Im Browser aufrufen: http://deine-domain.de/PowerAccess/paccess.php
  5. Wichtig: Das PowerAccess-Verzeichnis selbst als erstes mit einem Passwort schuetzen!

Option 2: Docker (empfohlen fuer Entwicklung)

  1. Repository klonen und in das Verzeichnis wechseln
  2. Container bauen und starten:
    cd .docker && docker compose build && docker compose up -d
  3. Im Browser aufrufen: http://localhost:8084/paccess.php

Schnellstart-Anleitung

  1. Benutzer anlegen: Oeffne PowerAccess, klicke auf "User", gib Benutzername und Passwort ein
  2. Verzeichnis schuetzen: Klicke auf "Verzeichnisse", navigiere zum gewuenschten Ordner, waehle die berechtigten Benutzer aus
  3. 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 ]


© 2002-2026 by PowerScripts