htaccess + htpasswd: So verhindern Sie die Ausführung von PHP-Skripten ohne Angabe eines Passworts

htaccess + htpasswd: So verhindern Sie die Ausführung von PHP-Skripten ohne Angabe eines Passworts

Meine Site wird von Apache unter Linux verwaltet. Im Basisverzeichnis befindet sich der Unterordner fill. In diesem Unterordner befindet sich ein PHP-Skript: do.php

Hier ist meine .htaccess:

AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user

Hier ist meine .htpasswd:

ab12:2yd32253zi7Nz2

Wenn ich gehehttp://meinesite/füllen, werde ich nach einem Benutzernamen und einem Passwort gefragt. Wenn ich diese eingebe (ab12 mit dem Passwort), melde ich mich erfolgreich an und sehe den Inhalt von index.html, der sich in diesem Ordner befindet (d. h.http://mysite/fill/index.html). Dann lösche ich den Browserverlauf und alle zuvor gespeicherten Passwörter. Danach, wenn ich das Skript ausführehttp://mysite/fill/do.php, ich werde NICHT nach einer Authentifizierung gefragt.

Die Frage: ist es möglich, beim Ausführen nach Anmeldeinformationen zu fragenhttp://mysite/fill/do.php? Irgendwelche Änderungen in htaccess?

Danke schön.

Antwort1

AnschauenApache-DokumentationAnAuthentifizierung, Autorisierung und Zugriffskontrolle, leider scheint es, dasseine Abmeldung ist nicht möglich.

Das Problem ist also nicht, dasshttp://mysite/fill/do.phpfordert keine Anmeldeinformationen an. Das eigentliche Problem besteht darin, dass Sie die Authentifizierung nicht zurücksetzen können.

Wie melde ich mich ab?

Seit Browser erstmals eine grundlegende Authentifizierung implementieren, wollten Website-Administratoren wissen, wie sie den Benutzer abmelden können. Da der Browser den Benutzernamen und das Kennwort mit dem Authentifizierungsbereich zwischenspeichert, wie bereits zuvor in diesem Tutorial beschrieben, ist dies keine Funktion der Serverkonfiguration, sondern eine Frage des Browsers, die Anmeldeinformationen zu vergessen, sodass Benutzername und Kennwort bei der nächsten Anforderung der Ressource erneut eingegeben werden müssen. Es gibt zahlreiche Situationen, in denen dies wünschenswert ist, z. B. wenn Sie einen Browser an einem öffentlichen Ort verwenden und den Browser nicht angemeldet lassen möchten, damit die nächste Person auf Ihr Bankkonto zugreifen kann.

Obwohl dies wahrscheinlich die am häufigsten gestellte Frage zur Basisauthentifizierung ist, hat bislang keiner der großen Browserhersteller dies als wünschenswerte Funktion für seine Produkte angesehen.

Folglich lautet die Antwort auf diese Frage: Das können Sie nicht. Es tut uns leid.

Wenn man sich das ansiehtFrage, können Sie möglicherweise andere Möglichkeiten zum Abmelden erforschen.

verwandte Informationen