Zum Inhalt springen

$PHP_AUTH_USER in der Klasse verfügbar machen


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...