htaccess - Was steckt dahinter?
Thilo Fester
- webserver
2 Cheatah0 seth_not@home0 Cheatah0 Thilo Fester
Hey Leute,
mich interessiert, wie eigentlich htaccess funktioniert.
Also ich will nicht wissen, wie ein .htaccess-File aufgebaut ist und dergleichen.
Ich habe festgestellt, dass für die Funktion von htaccess kein Cookie abgelegt wird und doch wird einem der Zugang zu einer Seite nachdem man beispielsweise ein Passwort falsch eingegeben hat solange verwehrt bis man den Browser neu startet.
Ein Cookie ist es nicht. Habe ich getestet, indem ich Cookies gelöscht hab.
Anhand des UserAgent kann der Nutzer auch nicht geperrt werden. Schließlich ist der nach dem Browserneustart gleich und teilweise gar nicht angegeben.
Die IP kanns nicht sein.
Woran merkt der Server, dass der Browser neu gestartet wurde? Oder ist das nur eine Frage dessen, wie htaccess durch die Entwickler des Browsers implementiert wurde?
Beste Grüße
~ Thilo
Hi,
mich interessiert, wie eigentlich htaccess funktioniert.
.htaccess ist (der Default-Name für) eine verzeichnislokale Konfigurationsdatei des Apache-Servers. Im Prinzip ist es also wie die httpd.conf, nur dass diese Datei bei jedem Request an den Server erneut eingelesen wird, und dass die Konfiguration halt nicht global gilt, sondern nur für den Verzeichnisbereich.
Ich habe festgestellt, dass für die Funktion von htaccess kein Cookie abgelegt wird
Nein, die Datei interessiert nur den Server. Er liest sie bei Bedarf ein, analysiert ihren Inhalt, passt kurzfristig (nämlich für den Request) seine Konfiguration an und bearbeitet anschließend wie gehabt den Request. Keine Magie.
und doch wird einem der Zugang zu einer Seite nachdem man beispielsweise ein Passwort falsch eingegeben hat solange verwehrt bis man den Browser neu startet.
Wie bitte? Ach so, Du redest von HTTP-Authentication. Die hat nicht das geringste mit einer .htaccess-Datei zu tun! Ebenso gut kannst Du HTTP-Authentication in der httpd.conf einrichten, und andere Server beherrschen sie (oft) ebenfalls, obwohl sie von .htaccess gar nichts wissen.
Woran merkt der Server, dass der Browser neu gestartet wurde? Oder ist das nur eine Frage dessen, wie htaccess durch die Entwickler des Browsers implementiert wurde?
.htaccess hat auch nichts mit Browsern zu tun, die wissen davon noch weniger als andere Server. In knapp 100% aller Fälle würde ihnen nicht mal erlaubt werden, eine .htaccess-Datei anzufordern. Der Browser merkt sich lediglich die Credentials der Authentifizierung, um sie bei jedem Request innerhalb des jeweiligen Realms mitzuschicken.
Die Spezifikation von HTTP-Authentication findest Du in RFC 2617. Und noch einmal: Dieser Mechanismus hat *nichts* mit .htaccess zu tun. Überhaupt nichts.
Cheatah
.htaccess hat auch nichts mit Browsern zu tun, die wissen davon noch weniger als andere Server. In knapp 100% aller Fälle würde ihnen nicht mal erlaubt werden, eine .htaccess-Datei anzufordern. Der Browser merkt sich lediglich die Credentials der Authentifizierung, um sie bei jedem Request innerhalb des jeweiligen Realms mitzuschicken.
Die Spezifikation von HTTP-Authentication findest Du in RFC 2617. Und noch einmal: Dieser Mechanismus hat *nichts* mit .htaccess zu tun. Überhaupt nichts.
Cheatah
Vielen Dank! : )
gudn tach!
Woran merkt der Server, dass der Browser neu gestartet wurde? Oder ist das nur eine Frage dessen, wie htaccess durch die Entwickler des Browsers implementiert wurde?
macht alles der browser; hatte ich auch schon mal gefragt. die beiden postings von "Der Martin" liefern die antwort: </archiv/2006/7/t132721/#m859341>.
(einzig seiner (damaligen) auffassung von "login" stimme ich nicht zu.)
prost
seth
Hi,
(einzig seiner (damaligen) auffassung von "login" stimme ich nicht zu.)
ich schon. Auf Serverseite ist es eine Authentifzierung, kein Login; und auf Clientseite ist es lediglich eine Merkfunktion. Wäre es ein Login, dürfte der Client bei Folgerequests maximal eine Identifizierung der Session mitliefern, nicht aber die konkreten Daten, die zum Login notwendig sind.
Es sei denn natürlich, Du hältst den Abschluss des Response für einen Logout. Dann allerdings handelt es sich nicht um _einen_ Login, sondern um _viele_ ;-)
Cheatah
gudn tach!
(einzig seiner (damaligen) auffassung von "login" stimme ich nicht zu.)
ich schon. Auf Serverseite ist es eine Authentifzierung, kein Login;
engl. wikipedia:
"The primary use of a computer login procedure is to authenticate the identity of any computer user (or computer software on this or a different computer) attempting to access the computer's services."
Wäre es ein Login, dürfte der Client bei Folgerequests maximal eine Identifizierung der Session mitliefern, nicht aber die konkreten Daten, die zum Login notwendig sind.
noe.
aber wir hatten uns ja bereits damals darueber unterhalten.
der begriff "login" ist sehr allgemein und es ist auch ueblich, ihn bei http-auth zu verwenden. macht ja auch sinn, denn aus der perspektive des users sind alle kriterieren erfuellt: man gibt zugangsdaten wie name sowie pw ein und kann dann solange (eingeloggt) agieren, bis man den browser schliesst und sich damit ausloggt. was im hintergrund mit den daten geschieht, welche daten client und server austauschen, ist fuer den begriff "login" wurscht.
prost
seth
Danke! : )
Ja, das habe ich leider über die Suche nicht entdeckt