pass-geschüzte Webseite: Plugin: restricted-site-access vs .htaccess/.htpasswd-Lsg. im Vergleich

  • hallo und guten Tag,

    es geht um eine passworgtgeschützte Webseite: WP-Plugin: restricted-site-access vs .htaccess/.htpasswd-Lösungen im Vergleich: die Besonderheit: möglichst sollte die Sitzung dann 2 bis 3 std. offen sein

    Hintergrund: ich will eine (Wordpress-) Webseite durch ein passwort im Zugang sichern - m.a.W. man soll nur zugang bekommen - wenn man durch die Passwortkontrolle geht: es soll lediglich ein einziger Benutzer angelegt werden: Die Seite ist noch neu - und in Entwicklung. Ich will sie auf dem Server hosten u. nicht (nur) auf einem XAMPP-System.

    es gibt hier mehrere Optionen - auf die ich unten eingehe:

    a. die .htacces/htpasswd-Kombination oder
    b. ein Wordpress-Plugin: How to Restrict WordPress Site Access by IP or Logged In https://de.wordpress.org/plugins/restricted-site-access/

    Metadaten: Version:7.2.0
    Aktive Installationen:20.000+
    WordPress-Version:4.6 oder höher
    Getestet bis:5.3.3
    Schlagwörter:privacy restrict


    Beschreibung:

    Zitat

    Beschränke den Zugriff auf deine Website auf angemeldete Besucher oder auf einen spezifischen IP-Bereich. Sende Besucher ohne Zugriff zur Anmeldeseite, leite sie weiter oder zeige eine Nachricht oder Seite an. Eine optimale Lösung für Extranets, öffentliche Intranets oder parallele Entwicklungsumgebungen.

    mehr dazu unten...

    daneben gibt es dann immer noch die Lösung mit .htaccess und .htpasswd:

    Als erstes denke ich, ist die Anlage einer .htpasswd Datei in einem Verzeichnis notwendig: dabei glaube ich ist es wichtig dass diese Datei im Grunde auch abseits der darauf verweisenden .htaccess Datei liegt Also es ist im Grunde so gedacht dass die .htpasswd nicht das Verzeichnis und deren Unterverzeichnisse in der die Datei liegt absichert, Nein - es ist vielmehr so, dass die Datei eine Liste bzw. ein 'Inhatsverzeichnis darstellt - aller möglichen Zugangsdaten. Absichern tut die .htaccess Datei. Sie - also die .htacess-Datei übernimmt die eigentliche Sicherungsaufgabe das Verzeichnis und aller darunter liegenden Unterverzeichnisse mit einem Passwortschutz versehen. Aus diesem Grunde ist es glaube ich auch wichtig - wo die .htacces datei abgelegt wird.

    .....generell ist es so, dass das mit htpasswd generell geht: um das Verzeichnis, das man schützen will, muss man eine .htaccess-Datei. einrichten:
    Um einen solchen Passwortschutz einzurichten, braucht man generell folgende Anweisungen wie z.B. AuthType, AuthName, AuthUserFile, und wenn auch mit einem Benutzergruppen arbeiten will dann noch mit AuthGroupFile. Ferner benötigt man wenn der Zugriff auf bestimmte Benutzer oder Gruppen aus diesen Dateien festlegt (also einschränken) sein soll, eine oder mehrere Angaben der Anweisung Require.
    AuthType bezeichnet die Art der Authentifizierung. Webserver/htaccess/Passwortschutz –
    Also - bei meiner Aufgabe handelt es sich um eine Wordpress-Seite- Da gbibt es schon ein HTACCESS. Deshalb denke ich dass ich die .htaccess Datei anpassen muss. So oder so muss folgender Code in die Datei rein:

    .htaccess-Datei für Passwortschutz

    Apache Configuration
    # .htaccess-Datei für Passwortschutz
    AuthType Basic
    AuthName "Geschützter Bereich - jetzt ein Passwort eingeben!"
    AuthUserFile /Individueller/Pfad/.htpasswd
    Require valid-user0

    Erläuterungen: vgl. auch

    Zitat


    Basic: sogenannte HTTP Basic Authentication (einfache Authentifizierung über HTTP). Dabei stehen die Benutzernamen und die zugehörigen Passwörter in einer noch anzugebenden Datei. Diese Methode verlangt aber, dass das Passwort unverschlüsselt vom Browser an den Webserver übermittelt wird. Sie ist daher nicht wirklich sicher.
    Digest: Dabei werden Passwörter bereits in verschlüsselter Form abgefordert, allerdings beherrschen das nicht alle Browser. Sie müssen daher entscheiden, was für Sie Vorrang hat: höhere Sicherheit oder die Berücksichtigung der Browser und Clients, die nur die einfache Authentifizierung unterstützen.
    AuthUserFile: gibt die Datei an, in der die Namen der autorisierten Benutzer und ihre Passwörter stehen. Es sollte der vollständige absolute Pfadname angegeben werden.
    Require: Legt mit einem zweiten Schlüsselwort fest, für welche Benutzer, bzw. Benutzergruppen das Passwort gelten soll. Hinter diesem Schlüsselwort können ein oder mehrere Namen von Benutzern oder Benutzergruppen folgen. Alternativ können Sie auch das Schlüsselwort valid-user benutzen, um alle Benutzer zuzulassen, falls die Liste sonst zu lang werden würde.

    user: gefolgt von einer Liste der Benutzer
    group: gefolgt vom Namen der Gruppe

    vgl hier. https://wiki.selfhtml.org/wiki/Webserver…/Passwortschutz

    Aber nun die Sonderlösung und die Spezialaufgabe bzw. Frage: Was ist - wenn ich diese Passwortsicherung etwas aufwändiger haben will -also etwa so dass immer wenn ich die Seite betrete nach dem Passwort-Eingeben.

    - ich dann die Seite offenstehen hab auf meinem Rechner?!
    - also dass die Seite für 2 oder drei Stunden offen steht
    - auf meinem aufrufenden Rechner


    Zwischenbemerkung zum .htacces angesichts dieser Sonderaufgabe - dass hier eine Sitzung mehrere h offen sein soll, denke ich nicht das hierfür eine schlichte und konventionelle basic HTTP-Authentication dafür ausreicht; Das wird wohl nicht gehen. Denke das man hier irgendwie anders ansetzen muss und ggf. irgendeine Form eines Tokens mit begrenzter Lebensdauer (z.B. ein JWT oder ein Sitztungs-Cookie, das für Requests mitgesendet wird mit einer im Backend registrierten Session korrespondiert) einsetzen sollte. Das macht das also schon etwas aufwändiger.
    Man könnte ggf. mittels JS dafür sorgen, dass der Client auf einen bestimmten Timeout reagiert (und dann z.B. auf eine Login-Seite geht), aber wenn nun hier etwa ein dritter Zugriff auf das System hat, kann er grundsätzlich die vom Browser zwischengespeicherten Variablen und den DOM manipulieren oder die Ausführung von JS unterbrechen…Das wäre doof.
    Mit einer schlichten Basic-Authentifizierung: Im Falle der HTTP (Basic) Authentifizierung sendet der Browser die Logindaten immer mit, also ist dessen Verhalten fuer die gestellten Fragen relevant. In der Regel merkt sich der Browser die Logindaten einige Zeit (zB fuer die aktuelle Session), bevor er wieder danach fragt. Das müsste man dann halt ausprobieren, ob ich hier an meine Sonderlösung komme u. sie so umsetzen kann.


    und weiters: htpasswd Datei erstellen:
    Damit der Verzeichnisschutz mit Passwort funktioniert, genügt die .htaccess-Datei alleine allerdings nicht. Man braucht hier immer zusätzlich auch noch eine Text-Datei, in der (der Benutzername und) das zugehörige Passwort drinne steht.

    Code
    .htpasswd-Datei
    # die Passwort-Datei
    myname:$2y$0d4433545$MQ7RdCCRrKmBEDD/usaks.9qAeCKy4YCP2pzgmc4lppfli41zC
    Achtung!

    Theoretisch könnte man die ganzen Passwörter auch im Klartext ablegen. Da sie so aber auch von Fremden ausgelesen werden können, ist es besser man verschlüsselt sie immer. Dabei ist folgendes wichtig:

    - auf die veraltete MD5-Verschlüsselung sollte man hier nicht unbed. zurückgreifen.
    - Benutzernamen sollten nicht länger als 255 Bytes sein.

    Zusammengefasst sind die wichtigsten Regeln für .htpasswd:

    - die Datei muss auf dem Web-Server, jedoch außerhalb des Web-Space liegen. Sie darf per HTTP weder gelesen und schon gar nicht geschrieben werden.
    - die .httpwasswd-Datei muss root gehören.
    - Sie - die .httpwasswd - darf nur durch root geschrieben werden.
    - der Benutzer, unter dem das Web-Server-Programm lauft, darf in dem Verzeichnis, in dem die Datei .htaccess liegt, keine Dateien anlegen und keine Datei löschen können.
    - man sollte darauf achten, dass der Pfad zu der Datei auch richtig gesetzt wird m.a.W. dass der richtige Pfad zur .htpasswd Datei angegeben ist. Aus Sicherheitsgründen sollte die .htpasswd Datei immer (!!) in einem anderen Verzeichnis gespeichert sein als die jeweilige .htaccess Datei, die auf die .htpasswd verweist. Das ist ziemlich wichtig.

    Alternativ kann man auch einen WP-Plugin zu verwenden - How to Restrict WordPress Site Access by IP or Logged In ...https://de.wordpress.org/plugins/restricted-site-access/

    vgl. Restricted Site Access bzw: Restricted Site Access



    reviews:

    Zitat

    a. Protecting my development and test sites with this Plugin has been part of my workflow for a long time. It’s simple, effective and elegant–works so seamlessly that I forget it’s not just part of core WordPress.


    ich werde dieses Plugin näher ansehen und testen.

    Was meint ihr denn - was meint ihr zu diesem Zusatz!?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!