Toon posts:

[php] variabele $php_auth_user

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleempje, waarschijnlijk met de variabele $php_auth_user.
Het probleem is dat deze leeg blijft, terwijl er gewoon ingelogd wordt via een .htaccess.
Weet iemand waar dat aan kan liggen (bijv. een instelling)?
Ik moet dit namelijk gaan omschrijven aan mijn provider.

  • ThE_ED
  • Registratie: Oktober 1999
  • Laatst online: 04-09 14:16

ThE_ED

Stuffed Animal

The HTTP Authentication hooks in PHP are only available when it is running as an Apache module and is hence not available in the CGI version.
Misschien is dit het al? (Alhoewel ik me niet kan voorstellen dat iemand het niet als module heeft...)

-> http://www.php.net/manual/en/features.http-auth.php

Ik ben fan van dingen


Verwijderd

Ik heb eens gehoord dat de predifined variabelen in PHP hoofdletter gevoelig zijn. Probeer het eens met '$PHP_AUTH_USER' en als dat niet werkt kan je altijd nog even deze pagina doorspitten.

Verwijderd

Topicstarter
Nee, het inloggen werkt wel, alleen de variabele blijft leeg. Ik kan wel gewoon headers verzenden.

Verwijderd

Topicstarter
Op woensdag 08 mei 2002 10:50 schreef int het volgende:
Ik heb eens gehoord dat de predifined variabelen in PHP hoofdletter gevoelig zijn. Probeer het eens met '$PHP_AUTH_USER' en als dat niet werkt kan je altijd nog even deze pagina doorspitten.
Ik doe dus geen authorisation via de header van php, maar gewoon mbv een .htaccess en een .htpasswd
Ik heb de variabele ook met een hoofdletter getypt.

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 09:51

TheDane

1.618

sinds wanneer heeft .htaccess iets met php te maken :?

Verwijderd

Misschien is het nog een stomme suggestie, maar het is mogelijk dat de functie 'register_globals' uitstaat waardoor deze variabele niet wordt aangemaakt. Je kunt het dan alleen opvragen met deze '$HTTP_SERVER_VARS["PHP_AUTH_USER"]', '$_SERVER["PHP_AUTH_USER"]' variabelen.

Verwijderd

Topicstarter
Sinds het allebei aan de server kant afgehandeld wordt.
De .htaccess slaat de 'sessie' op als het goede wachtwoord is gegeven en php kan deze dus gewoon uitlezen.

  • JJay
  • Registratie: Mei 2000
  • Laatst online: 11-09-2018

JJay

Hit me!

Op woensdag 08 mei 2002 11:01 schreef TheDane het volgende:
sinds wanneer heeft .htaccess iets met php te maken :?
Aangezien beide samenwerken met de Apache webserver en Apache een groot deel van z'n environment deelt met de PHP engine ...

De vraag is alleen of Apache PHP 'aware' kan maken van .htaccess beveiliging? Helaas kan 'k er niet zo snel een werkend voorbeeld van verzinnen.
code:
1
2
3
4
5
  if (!isset($PHP_AUTH_USER)) {
    header("WWW-Authenticate: Basic realm=\"My Realm\"");
    header("HTTP/1.0 401 Unauthorized");
    exit;
  }

Lijkt me geen verkeerde oplossing, dat werkt in ieder geval.

BTW. voor PHP 4.1.0+ is het beter om $_SERVER["PHP_AUTH_USER"] en $_SERVER["PHP_AUTH_PW"] te gebruiken, anders kun je nog wel 's in de problemen komen met het gebruik van globals in functions en objects.

Hardcore-Networking-Wannabe's© | Artistiek? Jahoor! ik kan heel goed MRTG-grafiekjes kleuren


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Ik was zelf in de veronderstelling dat het meer een of of situatie was. Je kon OF gebruik maken van .htaccess + .htpasswd, OF gebruik maken van php's $PHP_AUTH_USER door het sturen van de juiste headers. Niet van beiden tegelijk.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Op woensdag 08 mei 2002 11:19 schreef Janoz het volgende:
Ik was zelf in de veronderstelling dat het meer een of of situatie was. Je kon OF gebruik maken van .htaccess + .htpasswd, OF gebruik maken van php's $PHP_AUTH_USER door het sturen van de juiste headers. Niet van beiden tegelijk.
dat is dus fout, het kan dus wel met .htaccess (in combinatie met .htpasswd) en die opvragen net $PHP_AUTH_USER in php, laatst nog gebruikt!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Hmm .. ik lees net dit in de manual:
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. In this case, the $REMOTE_USER variable can be used to identify the externally-authenticated user.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Heeft je code al:
PHP:
1
<? phpinfo()?>


bevat ?

  • Martin Sturm
  • Registratie: December 1999
  • Laatst online: 01-09 16:14
Je moet (zoals al gezegd wordt) idd $REMOTE_USER gebruik voor zover ik weet :). Het kan iig wel, ik heb het in het verleden ooit wel eens gebruikt :)

Verwijderd

Topicstarter
Het werkt nu dus.
De register_globals stonden inderdaad uit. En via:
code:
1
php_value "register_globals" "1"

in je .htaccess file te zetten, kon je deze dus aan zetten.
Het werkt ook gewoon samen (dus .htaccess en php), wat eigenlijk ook wel logisch is.
Iig iedereen bedankt voor jullie reacties.
Pagina: 1