root@localhost Geschrieben 20. März 2002 Geschrieben 20. März 2002 hallo jungs und mädls, hab mal wieda ein php-problem: ich hab mir u.a. eine Klasse für meine Benutzerverwaltung geschrieben. Da ich alle Zugriffe bzw. Änderungen protokollieren soll muss ich in der Klasse auf die PHP_AUTH_USER variable zugreifen. ich hab schon einiges ausprobiert... u.a. global $PHP_AUTH_USER; hier ein code auszug : <?php global $PHP_AUTH_USER; require ("auth.php"); // sichert die Authentifizierung require ("mysquidclass.php"); // die Klasse in der ich auf $PHP_AUTH_USER zugreifen will. ich möchte es nicht als Parameter übergeben oder ein Cookie setztn. der wert von $PHP_AUTH_USER muss doch noch irgendwo beim Server oder so gespeichert sein?! mit getenv("PHP_AUTH_USER") oder getenv("REMOTE_USER") getenv("REMOTE_IDENT") ...... hab ichs auch schon ausprobiert wenn ich phpinfo() aufrufe ist auch kein username dabei danke für eure antwortn bis denne sers R==T Zitieren
Valium Geschrieben 20. März 2002 Geschrieben 20. März 2002 Original geschrieben von root@localhost require ("auth.php"); // sichert die Authentifizierung require ("mysquidclass.php"); // die Klasse in der ich auf $PHP_AUTH_USER zugreifen will. 1. Ist das PHP als Modul oder als CGI installiert? Es funktioniert nur als Modul 2. Ich hab mal ein ganz gutes Tutorial gelesen: http://hotwired.lycos.com/webmonkey/00/05/index2a.html Vielleicht hilft Dir das weiter. 3. Das global kannst Du Dir sparen, die Variablen sind schon global. 4. Wie siehts mit nem Auszug auf der mysquidclass.php aus, wo Du die Variablen registrierst? Zitieren
root@localhost Geschrieben 20. März 2002 Autor Geschrieben 20. März 2002 mod_php4 is installiert auszug aus der mysquidclass.php class User { var $status; var $protokol; var $ip; var $ruser; var $date; function User() { $this->ip = getenv("REMOTE_ADDR"); $this->protokol = new Protokol; $this->protokol->open("squid_conf_log"); $this->ruser = $PHP_AUTH_USER; // !!! hier sollte das eigentlich passiern $this->date = date("H:i j.m. Y "); } ........................ } was meinst du mit variablen in der Klasse registrieren? ich dachte man kann immer auf die Variable $PHP_AUTH_USER zugreifn wenn sie gesetzt ist. jetzt guck ich mal das tutorial durch vielleicht hilft mir das ja weiter danke ciao jj Zitieren
Valium Geschrieben 20. März 2002 Geschrieben 20. März 2002 Original geschrieben von root@localhost was meinst du mit variablen in der Klasse registrieren? ich dachte man kann immer auf die Variable $PHP_AUTH_USER zugreifn wenn sie gesetzt ist. Damit meine ich, dass der Apache weiß, dass Du entsprechende Rechte in dem Verzeichnis hast. Also das vorher ne Passwortabfrage kam mit der Du Zugriff auf das Verzeichnis hast. Hab mich da ungenau ausgedrückt. Kommt denn so eine Abfrage? Zitieren
root@localhost Geschrieben 20. März 2002 Autor Geschrieben 20. März 2002 yep sicher. so weit läuft schon alles mit der anmeldung und so. blos kann ich in meiner klasse nicht auch die $PHP_AUTH_USER variable zugreifen die ich aber aus protokollierungszwecken brauche. das muesste doch normal ne umgebungsvariable sein die, wenn sie gesetzt von überall also auch von meiner klasse aus abgerufen werden kann. oder? Hab mich da ungenau ausgedrückt. JA! danke bis denne servas jakl Zitieren
Valium Geschrieben 20. März 2002 Geschrieben 20. März 2002 Original geschrieben von root@localhost das muesste doch normal ne umgebungsvariable sein die, wenn sie gesetzt von überall also auch von meiner klasse aus abgerufen werden kann. oder? Ja, ist eine. Wenn ich hier den PHPMyAdmin mit advanced auth anschaue, taucht auch $PHP_AUTH_USER in der phpinfo() auf. Mal morgen Deine Klasse ausprobieren und sehen wo das Problem sein könnte wenn Zeit dafür da is Zitieren
goepp Geschrieben 20. März 2002 Geschrieben 20. März 2002 hi! soweit ich weiss steht in der variable nur was drin, wenn du vorher folgenden header an den client gesendet hast, welcher das fenster zur eingabe von benutzername/passwort öffnet: Header("WWW-Authenticate: Basic realm=\"My Realm\""); Header("HTTP/1.0 401 Unauthorized"); [/PHP] wude dann auf dem client was eingegeben, so wird das [b]gleiche[/b] script wieder aufgerufen und die $PHP_AUTH_USER, $PHP_AUTH_PW und $PHP_AUTH_TYPE werden gesetzt. grüsse Zitieren
root@localhost Geschrieben 20. März 2002 Autor Geschrieben 20. März 2002 jajajajajajajajajaja soweit funktionierts wie gesagt schon alles man kann sich anmelden ich kann überall in meinen skripts auf $PHP_AUTH_USER zugreifn. blos in meiner klasse gibt es die Variable einfach nicht bzw. sie ist nicht gesetzt!! kann man vielleicht $this->PHP_AUTH_USER schreibn? i glaub ned . Es ist 22:24 Uhr. bei mir nich aber vielleicht wohn ich ja etwas ausserhalb von WEZ-Hausen Zitieren
root@localhost Geschrieben 20. März 2002 Autor Geschrieben 20. März 2002 PHPMyAdmin mit advanced auth ???? ich arbeite leider nich so viel mit PHPMyAdmin kannst du das vielleicht noch etwas erläutern (advanced auth) ? danke Zitieren
Valium Geschrieben 20. März 2002 Geschrieben 20. März 2002 Original geschrieben von root@localhost ???? kann man vielleicht $this->PHP_AUTH_USER schreibn? Im Zweifelfall einfach ausprobieren. Original geschrieben von root@localhost ich arbeite leider nich so viel mit PHPMyAdmin kannst du das vielleicht noch etwas erläutern (advanced auth) ? Also, den PHPMyAdmin sollte man ja nicht ungeschützt auf eine Webseite stellen. Zur Absicherung wird auch meistens .htaccess Verzeichnisschutz benutzt. Der Admin bietet aber die Möglichkeit, via PHP_AUTH das ganze zu regeln. Wenn man jetzt noch die MySQL Datenbank mit richtigen Benutzerrechten versehen hat, kann man den Admin so wie die großen Provider absicher (also das jeder Benutzer auch nur seine eigene Datenbank sehen kann). Nachzulesen unter: http://phpmyadmin.sourceforge.net/documentation/#setup bei 'ISPs, multi-user installations ' gehts los. Zitieren
root@localhost Geschrieben 21. März 2002 Autor Geschrieben 21. März 2002 also $this->PHP_AUTH_USER haut ned ab... und ich mach bei diesem projekt gar nix mit mysql sondern blos mit dateien. schade schade Zitieren
root@localhost Geschrieben 8. April 2002 Autor Geschrieben 8. April 2002 so. nach langem suchen und rumprobieren: $myuser = $GLOBALS['HTTP_SERVER_VARS']['PHP_AUTH_USER']; das haut ab !! jetzt gibts erst mal nen Belohnungsdöner mmmh Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.