1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

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

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von lin, 18. Mai 2020.

  1. lin

    lin Well-Known Member

    Registriert seit:
    1. Dezember 2013
    Beiträge:
    879
    Zustimmungen:
    3
    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:
    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

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Erläuterungen: vgl. auch

    vgl hier. https://wiki.selfhtml.org/wiki/Webserver/htaccess/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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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:



    ich werde dieses Plugin näher ansehen und testen.

    Was meint ihr denn - was meint ihr zu diesem Zusatz!?
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden