[PHP/htaccess]Uitlezen PHP_AUTH_USER

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer al een tijdje iets voorelkaar te krijgen op een server waar ik verder weinig controle over heb, iets dat op mijn eigen server een eitje is.

Door middel van .htaccess wordt een bepaalde directory afgeschermd. Er zijn twee accounts in verwerkt: een administrator en een guest. Aan deze variabelen wil ik later in de site acties koppelen.
Op mijn eigen server is dit makkelijk, door middel van $PHP_AUTH_USER te gebruiken kan ik de gebruikersnaam uitlezen. Echter, op die andere server kan ik dat niet. De variabele blijft leeg, het .htaccess-deel werkt trouwens wel prima.
Deze server draait PHP in safemode en Global_register staat uit.

Hier is blijkbaar al veel over geschreven, ook op GoT, maar dat komt vrijwel allemaal neer op typfoutjes in de code of in .htaccess en er wordt nergens een oplossing voor mijn probleem gegeven. Ook via php.net kom ik niet verder. Dit komt met name omdat men er vanuit gaat dat men toegang heeft tot de configuratie van de server.

Wat ik heb geprobeerd:
$PHP_AUTH_USER
$_SERVER['PHP_AUTH_USER']
$_ENV['PHP_AUTH_USER']
$HTTP_SERVER_VARS['PHP_AUTH_USER']
$REMOTE_USER

Ook:
php_value "register_globals" "1" in .htaccess (moet dit misschien op een bepaalde regel staan in htaccess?)

Ik weet verder niet veel van de configuratie van de server, zo staat pfpinfo() ook gedisabled.

[ Voor 3% gewijzigd door Verwijderd op 13-04-2005 19:03 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

kan je dat niet aanpassen via de ini_set() functie?

[ Voor 3% gewijzigd door MueR op 13-04-2005 19:27 ]

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Misschien kun je met print_r($_SERVER); kijken of er toevallig een andere variabele is met de username erin. Ik zie dat je $_SERVER['REMOTE_USER'] nog niet hebt geprobeerd, misschien kun je dat ook eens doen.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

waarom phpinfo() uitgeschakeld is is mij een raadsel, maargoed, blijkbaar beheerd iemand die server die denk dat hij servers kan beheren ;)

maar je kan natuurlijk wel zelf de inhoud van $_SERVER en $_REQUEST op het scherm toveren ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Erkens schreef op woensdag 13 april 2005 @ 19:35:
waarom phpinfo() uitgeschakeld is is mij een raadsel, maargoed, blijkbaar beheerd iemand die server die denk dat hij servers kan beheren ;)
Active24. Ik heb al niet al te beste ervaring met ze.
GlowMouse schreef op woensdag 13 april 2005 @ 19:31:
Misschien kun je met print_r($_SERVER); kijken of er toevallig een andere variabele is met de username erin. Ik zie dat je $_SERVER['REMOTE_USER'] nog niet hebt geprobeerd, misschien kun je dat ook eens doen.
Holy cow, $_SERVER['REMOTE_USER'] was de enige die ik nog niet geprobeerd had. Die werkt dus! Thanks man.
Nu snap ik alleen nog niet dat die andere niet werkten en waarom ALLE andere op mijn eigen server wél werken. Dat kan niet alleen aan safemode liggen, lijkt mij.

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
http://www.php.net/manual/en/features.http-auth.php
As of PHP 4.3.0, in order to prevent someone from writing a script which reveals the password for a page that was authenticated through a traditional external mechanism, the PHP_AUTH variables will not be set if external authentication is enabled for that particular page and safe mode is enabled. Regardless, REMOTE_USER can be used to identify the externally-authenticated user. So, you can use $_SERVER['REMOTE_USER'].
Omdat register globals uitstaat, werken dingen als $REMOTE_ADDR, $REMOTE_USER, $HTTP_USER_AGENT e.d. niet, en moet je de global array gebruiken waarin ze staan.
Pagina: 1