PHP authentication in Mozilla

Pagina: 1
Acties:

  • Omegium
  • Registratie: Juli 2001
  • Laatst online: 17-04 10:30
Ik heb een scriptje gescreve waarbij je met header authentication je moet authorizeren om bepaalde admin functies uit te kunnen voeren. Als je je browser echter een kwartier niet meer gebruikt, dan moet je opnieuw inloggen om misbruik te voorkomen. Om te voorkomen dat de browsers automatisch je gegevens weer invullen noem ik de realm iedere keer anders, door er een tijd achter te zetten:
PHP:
1
2
3
$realm="Djoe intranet. Login: (".strftime("%c",time())." )"; 
header("WWW-Authenticate: Basic realm=\"$realm\"");
header("HTTP/1.0 401 Unauthorized");


Dit wil echter niet lekker werken in mozilla, daar blijft ie de vorige waarden onthouden. Iemand enig idee hoe dit dan wel te schrijven?

Verwijderd

Probeer eens met de tijd vooraan, ik kan me voorstellen dat er alleen naar de x-eerste karakters wordt gekeken.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:09
Vermoedlijk matcht Mozilla op (een deel van) de URL en niet op de realm. Een oplossing zou kunnen zijn (al weet ik niet of 't werkt) om dit script (met behulp van multiviews) steeds vanuit een andere (schijnbare) directory uit te laten voeren. Je genereert dan een random link a la:

http://www.mijndomein.com/login.php/1234random567/

Verwijderd

Soultaker schreef op 25 augustus 2002 @ 00:22:
Vermoedlijk matcht Mozilla op (een deel van) de URL en niet op de realm. Een oplossing zou kunnen zijn (al weet ik niet of 't werkt) om dit script (met behulp van multiviews) steeds vanuit een andere (schijnbare) directory uit te laten voeren. Je genereert dan een random link a la:

http://www.mijndomein.com/login.php/1234random567/
Vermoedelijk zeg je ... Omdat de lengte van realm niet begrenst is volgens enige RFC ( zover ik weet ), kan ik me voorstellen dat een browser slechts een x-aantal tekens parsed en dus checkt. Jou oplossing zal zeker wel werken maar je browser zal ook wel snappen dat /1234random567/ een variabele is en geen gedeelte van een path. Ik weet niet of dit een echt veilige manier is dit op te lossen.