Kein Zugriff auf Frontend, wenn .htaccess Schutz im wp-admin Verzeichnis

  • Habe hier ein Problem, dessen ursächlichen Zusammenhang ich nicht herausfinden kann. Wenn im Verzeichnis wp-admin eine .htaccess Datei mit folgendem Inhalt liegt:

    Apache Configuration
    AuthUserFile /[vhosts-path]/[Domainname]/.htpasswd
    AuthGroupFile /dev/null
    AuthName 'bitte Zugangsdaten für Backend eingeben'
    AuthType Basic
    require valid-user

    dann ist, wie gewollt, das Backend http://[Domainname]/wp-admin über einen Verzeichnisschutz geschützt. Zum Zugriff ist dann die Eingabe eines Benutzernamens und eines Passwortes erforderlich.
    Doch genau diese .htaccess-Datei blockiert auch den "normalen" Zugriff auf den Blog unter http://[Domainname].

    Meine Frage ist nun, ob jemand einen ähnlichen Fall und die Ursache dafür kennt?
    Es muss ja irgend einen Zugriff auf das Verzeichnis /wp-admin geben, hab aber keine Idee, von wo aus diese Anfrage kommt.
    Kenn jemand ein Plugin oder Debugg-Verfahren, mit dem man herausfinden kann, welche PHP-Dateien in welcher Reihenfolge nach dem Aufruf der Startseite geladen/geöffnet/includiert werden?

    Danke und Gruß
    Tom

    • 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

  • Teste es mal so

    Apache Configuration
    # protect wp-login.php
    <files wp-login.php>
    AuthName "Admin-Bereich"
    AuthType Basic
    AuthUserFile /var/www/vhosts/[Domain]/httpdocs/.htpasswd
    require valid-user
    </files>


    Das setzt Du in die .htaccess im Hauptordner. So beschränkst Du nur den Zugriff auf die wp-login.php. Ich könnte mir vorstellen, dass WP für den normalen Zugriff ebenfalls Daten aus dem wp-admin Ordner benötigt.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Das sperrt dann aber alle Frontenduser ebenfalls aus, das ist wohl keine Lösung. Außerdem mahnt das installierte Acunetix WP Security Plugin das Fehlen der /wp-admin/.htaccess Zugriffsschutzdatei an. Das scheint wohl eher ein gängiger Weg zu sein.

  • Hä? Der betreffende Blog verwendet WooCommerce und es kann sich jeder Benutzer als Kunde registrieren, Kunden haben keinen Zugriff zum Backend aber natürlich zu ihrem Konto mit ihren Bestellungen usw. Wenn wp-login.php blockiert ist, dann muss imgrunde jeder Benutzer, der sich ein bzw. ausloggen will die Zugriffschutzdaten kennen!
    Das ist also doch keine Lösung!

  • Ich könnte mir vorstellen, dass WP für den normalen Zugriff ebenfalls Daten aus dem wp-admin Ordner benötigt.


    Könnte ich mir zwar auch vorstellen, doch wenn, dann nur vor dem Parsen einer Seite über die Serverpfade und nicht über HTTP, würde ich mir denken, wissen tue ich es nicht. Sonst würde ja Bültge seine Lösung unter Punkt 8 eigentlich auch nicht funktionieren.

    http://wordpress-buch.bueltge.de/wordpress-sich…comment-page-4/

  • Wenn wp-login.php blockiert ist, dann muss imgrunde jeder Benutzer, der sich ein bzw. ausloggen will die Zugriffschutzdaten kennen!


    Ja was denn nun, las ich erst jetzt, die wp-login.php sendet doch Daten an /wp-admin. Wenn Du /wp-admin sperrst, dann haben doch nur noch die User mit Passwort Zugriff. Oben schriebst Du aber etwas vom normalen Zugriff über Domain und der hat ja nicht zwangsläufig etwas mit einem Login zu tun.

  • Kunden haben keinen Zugriff zum Backend aber natürlich zu ihrem Konto mit ihren Bestellungen usw.

    Laut deiner Aussage ging es um das Frontend und nicht ums Backend. Wenn der Kunde sich einloggen möchte, nutzt er zwangsläufig das Backend und bekommt somit auch die Passwortabfrage.

  • Habe mal die Reihenfolge, von der wp-login.php erfolgt eine direkte 302 Weiterleitung auf /wp-admin/. Wenn nun /wp-admin einen zusätzlichen Passwortschutz hat, kann auch nur der sich einloggen, der das Passwort kennt. Mit dem normalen Betrieb der Webseite sollte das nichts zu tun haben, nur Deine Kunden können sich nicht mehr einloggen, doch eigentlich ist der Schutz ja dafür gedacht.

    Browser an Server - Aufruf von wp-login.php:

    Code
    http://localhost/worddreiacht/wp-login.php
    
    
    POST /worddreiacht/wp-login.php HTTP/1.1
    Host: localhost

    Server antwortet mit Weiterleitung auf:

    HTTP
    HTTP/1.1 302 Found
    ...
    X-Frame-Options: SAMEORIGIN
    Location: http://localhost/worddreiacht/wp-admin/
  • Wenn du nicht willst, dass in deinem Admin Ordner rumgefuscht wird, kannst du die Dateizugiffsrechte runter setzen, über deinen FTP-Account. Wordpress braucht da nur Leserechte, damit alles funktioniert (außer beim Update, da musst du die rechte dann natürlich wieder ändern). Bei mir langt für den admin Ordner 505, wenn ich mich richtig erinnere. Das wäre dann nur lesen und ausführen für den Benutzer.

    MfG

    Einmal editiert, zuletzt von g3h (14. Januar 2014 um 20:19)

  • OK! Danke für die vielen Rückmeldungen.
    Hatte da selbst einen falschen Ansatz, da ich für einen Login auf jeden Fall Zugriff auf /wp-admin/ benötige.

    Trotzdem verstehe ich immer noch nicht, von wo ein Zugriff vom Frontend auf /wp-admin/ erfolgt, ohne Login, denn auch, wenn alle user ausgeloggt waren, war der Zugriff im Frontend blockiert. Aber ich lass jetzt den Zugriffschutz natürlich weg, ich schau mir mal den Hinweis von g3h mit den Zugriffsrechten an.

    Danke und Gruß
    Tom

Jetzt mitmachen!

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