Frisco: .htaccess: Schutz der Indexdatei

Howdy,

ich möchte gern per .htaccess die Indexdatei index.php schützen. Soweit so gut:

<Files ~ "index.php">
AuthType Basic
AuthName 'ServicePortal'
AuthUserFile c:\wwwroot\beispiel.htuser
AuthGroupFile c:\wwwroot\beispiel.htgroup
Require valid-user
</Files>

http://localhost/beispiel/index.php löst die Passwortabfrage aus.

Problem: wird die Domain OHNE "index.php" aufgerufen, findet keine Authentifizierungsabfrage statt.

http://localhost/beispiel/

Ändere ich den regulären Ausdruck auf

<Files ~ "(|index.php)">

wird nun auch beim Aufruf der Domain ohne "index.php" die Passwortabfrage initiiert. Nächste Problem: Gebe ich ein flasches Passwort an oder breche die Abfrage ab, kann der Server die per ErrorDocument-Directive angegebene 401-Datei nicht mehr anzeigen, weil auch diese nun im geschützen Bereich liegt ("Additionally, a 401 Authorization Required error was encountered while trying to use an ErrorDocument to handle the request.").

Nächster Versuch:

<Files ~ "(|[^401]+.php)">

Löst das Problem auch nicht. Wer weiß Rat? Danke.

  1. hi,

    Problem: wird die Domain OHNE "index.php" aufgerufen, findet keine Authentifizierungsabfrage statt.

    Ungeprüft:
    DirectoryIndex index.php

    Horst Seesternchen

    1. Hallo,

      Ungeprüft:
      DirectoryIndex index.php

      Danke für die schnelle Antwort. Ist zwar ein Lösungsansatz, aber nicht für mein Problem. Bis ich allerdings eine andere habe, nehme ich diese gerne.

      Danke.

      1. Du könntest alle leeren Anfrage an die index.php weiterleiten.
        RewriteCond %{REQUEST_URI} ^/$
        RewriteRule (.*) index.php [L,R]

        Gruß,
        Jan

        1. Servus,

          RewriteCond %{REQUEST_URI} ^/$
          RewriteRule (.*) index.php [L,R]

          Auch das ein guter Vorschlag, aber wieder keine Lösung für mein Problem mit dem regulären Ausdruck. Vielen Dank aber trotzdem dafür.

      2. Hallo,

        Ungeprüft:
        DirectoryIndex index.php

        Danke für die schnelle Antwort. Ist zwar ein Lösungsansatz, aber nicht für mein Problem. Bis ich allerdings eine andere habe, nehme ich diese gerne.

        Sicher gibts auch andere/weitere Lösungen. Issue: In der Webserverkonfig. ist stets eine Default-Datei festgelegt, damit die Leuts beim Eintippen von http://example.com auch was zu sehen kriegen. I.d.R. heißt diese Ressource index.html und i.d. weiteren R. ist das nicht immer das, was ein Webmaster möchte. Daher musst Du diesen Wert mit

        DirectoryIndex "meine Default Ressource"

        sowieso überschreiben, möglichst gleich in der 1. Zeile der .htaccess. Ich für meinen Teil nutze in serverseitigen Scripts auch eine Variable REQUEST_URI und wenn diese den Wert "/" beinhaltet, überschreibe ich die mit "/index.html" womit ich weitere Probleme mit einem Handstreich aus der Welt schaffe.

        Viele Grüße,
        Horst Pfeifenraucher

  2. Hello,

    Problem: wird die Domain OHNE "index.php" aufgerufen, findet keine Authentifizierungsabfrage statt.

    Wieso verlegst Du das nicht alles in ein Unterverzeichnis und schützt dann das gesamte Unterverzeichnis?

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de