Anmeldung über HTTP AUTH
- Apache verwenden: http://httpd.apache.org/docs/2.2/howto/auth.html
- Es ist auch möglich mit IIS y andere Webserver .
Sobald die Authentifizierung erfolgt ist, können PHP müssen Sie nur $_SERVER['PHP_AUTH_USER']
um den bei der Authentifizierung verwendeten Benutzernamen abzurufen.
Dies kann eine schnellere und manchmal auch flexiblere Lösung sein als die Lösung auf Skriptebene, vorausgesetzt, dass nur begrenzte Informationen über den Benutzer benötigt werden, da Ihnen nur der zur Anmeldung verwendete Benutzername zur Verfügung gestellt wird.
Vergessen Sie jedoch, Ihre Authentifizierung in ein HTML-Formular zu integrieren, es sei denn, Sie implementieren ein vollständiges HTTP-AUTH-Schema innerhalb Ihrer Skriptsprache (wie unten beschrieben).
Rolling your own HTTP AUTH innerhalb Ihrer Skriptsprache
Sie können tatsächlich erweitern. HTTP Basic Auth durch Nachahmung in Ihre Skriptsprache. Die einzige Voraussetzung dafür ist, dass Ihre Skriptsprache in der Lage sein muss, HTTP-Header an den HTTP-Client zu senden. Eine ausführliche Erklärung, wie Sie dies mit PHP erreichen können, finden Sie hier: ( siehe mehr über PHP und HTTP AUTH ).
Sie können den obigen Artikel erweitern, indem Sie ein typisches Authentifizierungsschema, einen Dateispeicher, sogar PHP-Sitzungen oder Cookies (wenn die Informationen nicht beständig sein müssen) verwenden, wodurch Sie bei der Verwendung von HTTP AUTH viel flexibler sind, aber dennoch eine gewisse Einfachheit beibehalten.
Nachteile von HTTP AUTH
-
Der größte Nachteil der HTTP-Authentifizierung sind die Komplikationen, die beim Abmelden auftreten können. Die wichtigste Möglichkeit, die Sitzung des Benutzers zu löschen, besteht darin, den Browser zu schließen oder eine Kopfzeile mit 403 Authentifizierung erforderlich zu übergeben. Leider bedeutet dies, dass das HTTP-Authentifizierungs-Popup wieder auf der Seite erscheint und der Benutzer sich dann entweder erneut anmelden oder auf Abbrechen klicken muss. Dies ist unter dem Gesichtspunkt der Benutzerfreundlichkeit nicht unbedingt sinnvoll, kann aber mit einigen interessanten Ergebnissen umgangen werden (z. B. durch die Verwendung einer Kombination aus Cookies und HTTP AUTH zur Speicherung des Status).
-
Die Behandlung von HTTP-AUTH-Popups, Sitzungen und HTTP-Headern wird von der Browser-Implementierung des Standards bestimmt. Das bedeutet, dass Sie mit dieser Implementierung (einschließlich aller Fehler) ohne die Möglichkeit einer Umgehung feststecken (im Gegensatz zu anderen Alternativen).
-
Basisauthentifizierung bedeutet auch, dass auth_user und Passwort in den Serverprotokollen auftauchen, und dann müssen Sie https für alles verwenden, weil sonst Benutzername und Passwort bei jeder Anfrage im Klartext über das Netzwerk gehen.