User Status bei htaccess (eingeloggt oder nicht)
jambaminator
- php
0 wahsaga-1 Tom0 Andreas Korthaus
hallo,
ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:
if(isset($_SERVER['REMOTE_USER)']))
die obige variable ist schließlich nur gesetzt, wenn jemand eingeloggt ist und hat dann als wert den usernamen.
soweit die theorie, praktisch klappt es nicht. die variablen sind soweit alle gesetzt. erstaunlicherweise auch die HTTP authentifizierungsvariablen $_SERVER[PHP_AUTH_USER] und $_SERVER[PHP_AUTH_PW], obwohl ich mal gelesen hatte, dass bei benutzung einer externen authentifizierung (wie htaccess) diese variablen nicht gesetzt werden (weil das angeblich wieder eine sicherheitslücke wäre).
ich wäre über erläuterungen dankbar und über vorschläge, das ganze anders zu realisieren. vielen dank im voraus
grüße aus göttingen
der, der jamba hasst.
hi,
ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:
if(isset($_SERVER['REMOTE_USER)']))
die obige variable ist schließlich nur gesetzt, wenn jemand eingeloggt ist und hat dann als wert den usernamen.soweit die theorie, praktisch klappt es nicht. die variablen sind soweit alle gesetzt. erstaunlicherweise auch die HTTP authentifizierungsvariablen $_SERVER[PHP_AUTH_USER] und $_SERVER[PHP_AUTH_PW]
sind sie lediglich gesetzt, oder haben sie auch einen nicht leeren inhalt?
gruß,
wahsaga
sind sie lediglich gesetzt, oder haben sie auch einen nicht leeren inhalt?
remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.
es geht darum das einige elemente eines dokuments nur bestimmten nutzern zugänglich sein soll. daher die abfrage.
vielen dank schonmal für die schnelle hilfe..
Hallo!
remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.
Wenn diese Variablen vorhanden sind, heißt das lediglich dass der Anwender einen entsprechenden HTTP-Header gesendet hat, das hat in keinster Weise damit zu tun ob es diese Zugangsdaten tatsächlich gibt, ob Sie gültig sind...
es geht darum das einige elemente eines dokuments nur bestimmten nutzern zugänglich sein soll. daher die abfrage.
Du muss in PHP die entsprechende Passwort-Datei abfragen. Das kannst Du Dir selbst schreiben, oder Sachen wie PEAR::File_Passwd verwenden. Allerdings ist es in meinen Augen nicht wirklich sinnvoll gleichzeitig zwei verschiedene Prüfungen der Authentifizierung vorzunehmen. Eine Prüfung durch den HTTP-Server (z.B. per .htaccess) würde ich persönlich nur verwenden, wenn ich z.B. ganze Verzeichnisse schützen will (und das ganze entsprechend komplett dem HTTP-Server überlassen). Sonst würde ich eher zu einer reinen PHP-Lösung tendieren (kann auch HTTP-Auth verwenden). Das gibt einem die größere Flexibilität.
Grüße
Andreas
Moin!
remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.
Wenn diese Variablen vorhanden sind, heißt das lediglich dass der Anwender einen entsprechenden HTTP-Header gesendet hat, das hat in keinster Weise damit zu tun ob es diese Zugangsdaten tatsächlich gibt, ob Sie gültig sind...
Das ist nicht ganz korrekt. Die PHP_AUTH_...-Variablen enthalten 1:1 die Angaben des Benutzers, sind aber noch nicht geprüft.
REMOTE_USER hingegen ist das Ergebnis NACH der Prüfung durch den Apachen - dieser schreibt den authentifizierten Benutzernamen extra in das Environment rein, welches auch von CGI-Skripten genutzt werden kann.
Hallo Sven!
REMOTE_USER hingegen ist das Ergebnis NACH der Prüfung durch den Apachen - dieser schreibt den authentifizierten Benutzernamen extra in das Environment rein, welches auch von CGI-Skripten genutzt werden kann.
Das wußte ich nicht, danke für die Korrektur!
Grüße
Andreas
你好 Sven,
Das ist nicht ganz korrekt. Die PHP_AUTH_...-Variablen enthalten 1:1 die
Angaben des Benutzers, sind aber noch nicht geprüft.
Wenn schon, denn schon: die PHP_AUTH_*-Varablen _koennen_ ungeprueft sein,
nach einem Auth-Check durch tieferliegende Module kann es aber genau so gut
sein, dass sie doch schon geprueft wurden. Der Zugriff auf die Ressource
erfolgt ja erst nach Pruefung der Authentifikation, wenn sie denn
erforderlich ist.
再见,
CK
Hello,
ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:
Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.
Oder meintest Du, dass Du feststellen wolltest, ob sich jemand Zugang zum System verschafft hat?
Beim Logging werden persistente Verbindungen aufgebaut, bei auch der Server jederzeit prüfen kann, ob der Client noch verfügbar ist. Er kann ihm dann (meistens) auch Server-Pushs schicken.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.
.htaccess basiert auf überhaupt keinem übertragungsprotokoll, sondern ist der default-name für eine konfigurationsdatei des apache-webservers ...
scnr,
wahsaga
Hello,
Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.
.htaccess basiert auf überhaupt keinem übertragungsprotokoll, sondern ist der default-name für eine konfigurationsdatei des apache-webservers ...
Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist? Ich würde mal schätzn, dass der speziell für http-Zugriffe gemacht ist. http ist aber verbindungslos und kann daher kein Login gewährleisten.
Muss man hier immer gleich einen Roman schreiben? :-))
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist?
"hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.
Ich würde mal schätzn, dass der speziell für http-Zugriffe gemacht ist.
nein, um den apachen auf verzeichnisebene konfigurieren zu können.
http ist aber verbindungslos und kann daher kein Login gewährleisten.
also reden wir gar nicht über ".htaccess", sondern über HTTP AUTH ...?
gruß,
wahsaga
Hello,
Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist?
"hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.
Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
"hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.
Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?
das verhalten des apachen in bestimmten situationen.
gruß,
wahsaga
Hello,
"hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.
Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?
das verhalten des apachen in bestimmten situationen.
Und durch welche Events wird das Verhalten getriggert?
Richtig! Durch einen ht-access via ht-tp. Daher kommt dann wohl auch der Name der Datei, oder? *gg*
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hi,
das verhalten des apachen in bestimmten situationen.
Und durch welche Events wird das Verhalten getriggert?
Richtig! Durch einen ht-access via ht-tp. Daher kommt dann wohl auch der Name der Datei, oder? *gg*
und daraus schließt du jetzt, dass der einzige einsatzzweck der .htaccess-datei die aufforderung zur authentifizierung sei, und somit HTTP AUTH und .htaccess ein und das selbe wären ...?
gruß,
wahsaga
Hello,
und daraus schließt du jetzt, dass der einzige einsatzzweck der .htaccess-datei die aufforderung zur authentifizierung sei, und somit HTTP AUTH und .htaccess ein und das selbe wären ...?
Wer sagt denn das?
Umkehrschlüsse sind nicht immer erlaubt, auch wenn DU sie mir unterstellen willst.
Aber wenn jemand nach "Login" mittels .htaccess fragt, dann wird er wohl genau diesen eben von Dir zitierten Aufdgabenbereich der ".htaccess"-Funktionen im Auge gehabt haben.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
wenn ich mich mal einmischen darf:
Und was wäre Deine "Tipps für Laien" ?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
Und was wäre Deine "Tipps für Laien" ?
Wie meinen?
Viele Grüße
Vaclav
Hallo!
ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist.
Dazu brauchst Du IMHO keine Abfrage. Wenn sich das Script innerhalb des per HTTP-Auth geschützten Bereichs befindet, ist jeder der dieses Script aufrufen kann eingeloggt. Ich wüßte nicht wie man es per .htaccess anders machen könnte.
Grüße
Andreas