🔑 edituseraccess

Sinn und Zweck

Viele Webserver (Apache etc.) bieten die Möglichkeit, den Zugriff auf Webseiten erst nach Eingabe eines Benutzernamens und eines Passworts zu erlauben. So können Adminstratons-Zugänge, nicht öffentliche Datensammlungen (Bildergalerien. ..) gemeinsame Kalender, chat rooms, eingeschränkt zugängliche Foren und vieles mehr realisiert werden.

Eine Konfiguration hierfür ist im Web-Portal des entsprechenden Webhosters oft tief versteckt oder gar nicht möglich. Es bleibt nur der Weg über die SSH-Kommandozeile oder ein unübersichtliches Standard-Administratons-Tool - oder man verwendet edituseraccess.

Voraussetzungen

  • Als Webserver ist Apache 2.4 oder neuer installiert.
  • Der Webserver bietet einen ftp-Zugriff auf das zu schützende Verzeichnis.
  • Der Webserver erlaubt die Ausführung von php-Skripten
  • Der Webserver bietet die Möglchkeit, den Zugriff auf Verzeichnisse per .httaccess zu schützen (htaccess authentication).

Anwendung

  1. Benennen Sie das Skript edituseraccess.php beliebig um und fügen Sie eine Extension an, die es als php-Skript ausweist. (Aus Sicherheitsgründen ist der ursprüngliche Name edituseraccess.php nicht möglich.)
  2. Laden Sie das Skript per ftp in das zu schützende Verzeichnis hoch
  3. Rufen Sie umgehend das Skript in Ihrem Web-Browser auf und legen Sie damit zunächst den Administrator-Benutzer an.
  4. Das Verzeichnis hat damit jetzt einen passwortgeschützten Zugang.
  5. Sie können nun beliebig weitere Benutzer definieren, Passwörter ändern oder Zugänge löschen.

Sicherheit

Das leistet edituseraccess:

  • edituseraccess legt keine Cookies an, es fordert keine weteiren Dateien (Bilder etc.) an und es speichert keine Daten - außer den funktionell für den Verzeichnisschutz benötigten Dateien .htaccess und .htpasswd.
  • Die Passwörter werden mit dem Blowfish-Algortithmus verschlüsselt.
  • Das Skript edituseraccess.php muss umbenannt werden, bevor es verwendet werden kann.
  • edituseraccess ist nur verwendbat, wenn man als Administratorbenutzer eingelogt ist.
  • Für jede Aktion verlangt edituseraccess das Passwort des Administrators.

Das sollten Sie tun:

  • Rufen Sie edituseracess in einer verschlüsselten Verbindung (SSL/TLS via HTTPS) auf. Nur so ist gewährleistet, dass eingegebene Passwörter verschlüsselt übertragen werden. Wenn Ihre Domain kein SSL-Zertifikat aufweist, sollten Sie eines installieren.
  • Verwenden Sie sichere Passwörter.
  • Notieren oder speichern Sie alle vergebenen Passwörter an einem sicheren Ort. edituseracess hat keine Möglichkeit, vergebene Passwörter im Klartext zu ermitteln.

Limitierungen

Diese Beschränkungen sind von Apache vorgegeben:

  • Benutzernamen dürfen maximal 255 Zeichen lang sein, und keine Sonderzeichen (Umlaute, Akzente etc.) oder Leerzeichen enthalten.
  • Alle Benutzernamen dürfen zusammen maximal ca. 8000 Zeichen lang sein.
  • Passwörter dürfen maximal 255 Zeichen lang sein.

Häufige Fragen

Was geschieht, wenn bereits eine HTTP-Authentifizierung installiert ist?

edituseraccess verwendet die vorhandenen Dateien .htaccess und .htpasswd (bzw. ein abweichender Name) und ergänzt hier neue Benutzereinträge.

Darf die Datei .htaccess weitere Zeilen enthalten?

edituseraccess fügt lediglich die Zeilen für die Authentifizierung an und lässt alles andere unberührt.

Darf sich die Passwortdatei .htpasswd (bzw. ein abweichender Name) auch au0erhalb des Verzeichnisses befinden?

Ja. Es muss lediglich in .htaccess der Pfad nach „AuthUserFile“ entsprechend angepasst werden. Somit kann man eine gemeinsame Passwortdatei (.htpasswd o.ä.) zentral organisieren.

Wo finde ich die installierten Passwörter?

Eingegebene Passwörter werden nirgends gespeichert. In .htpasswd (bzw. ein abweichender Name) werden lediglich die entsprechenden Hashs gesichert - womit der Webserver dann das eingegebene Passwort verifizieren kann. Passwörter lassen sich davon aber nicht wieder ableiten.

Kann edituseraccess auch das Authentisierungsverfahren „Digest“ organisieren?

edituseraccess unterstützt derzeit nur das Verfahren „AuthType Basic“. Andere Methoden wie „AuthType Digest“ sind noch nicht implementiert.

Was ist das 🔑 für ein seltsames Symbol?

Das Unicode-Zeichen Nr. 128273 (0x1f511) ist das Symbol "key". Sollten Sie nur ein Platzhalterzeichen sehen, ist die verwendete Schrift in Ihrem Browser unvollständig.

Versionen

0.9.2

erste Veröffentlichung

1.2

komplette Überarbeitung

1.2.1

Anpassungen an PHP 8

Weblinks

https://httpd.apache.org/docs/2.4/howto/auth.html

https://wiki.selfhtml.org/wiki/Webserver/htaccess/Passwortschutz

Rechtliches

Autor: Christoph Bartholme

Benutzung auf eigene Gefahr. Der Autor übernimmt keine Haftung für Schäden, die durch die Anwendung von edituseraccess entstanden sind.

Die Software edituseraccess unterliegt der „GNU General Public License“:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see here.

Impressum | Datenschutz