[PHP] http authentication

Pagina: 1
Acties:

Onderwerpen


  • Zenda
  • Registratie: Oktober 2001
  • Laatst online: 06-09 16:17

Zenda

goes milk!

Topicstarter
Hallo..

Ik heb een scriptje die gebruik maakt van HTTP AUTHENTICATION via PHP..

Nu wil ik, dat er een uitlog mogelijkheid is.. Dus een linkje uitloggen en dattie dan dingen unset en dat opnieuw inloggen zonder user en pass mogelijk is..

Het scriptje ziet er zo uit:

<?
unset($PHP_AUTH_PW);
unset($PHP_AUTH_USER);
unset($_SESSION);
unset($_COOKIE);
unset($_SERVER);

header("Location: http://www.domein.nl");
?>

Dit was even om te proberen daarom zoveel unset :) Maar het werkt niet echt.. Hoe kun je uitloggen wanneer je met PHP HTTP AUTHENTICATION bent ingelogd?? ik snap er geen ene aap meer van :/

Of kan dit alleen als je alle browsers sluit??

Zenda likes some milk every now and then..


Verwijderd

In IE6.x heb je in ieder geval de mogelijk om logout:logout te gebruiken;

http://logout:logout@www.your_domain.com/secure/logout/

Werkt wel alleen in IE6.x

Voor andere browsers ben je toch aangewezen op window.close(); :Y)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Die gegevens worden door de browser bepaald. Die variabelen die jij unset zijn variabelen die elk request weer door de browser worden meegestuur. Basic authentication heeft niet echt een uitlog methode. Wat meestal word gedaan is mensen in te laten loggen met een niet bestaande credentials waardoor ze de vorige inloggegevens kwijt zijn. Dat is dus ook wat Jorgen voorstelt, alleen werkt zijn oplossing niet meer omdat user:pass@domein niet meer werken in IE.

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


  • Zenda
  • Registratie: Oktober 2001
  • Laatst online: 06-09 16:17

Zenda

goes milk!

Topicstarter
Ik gebruik hierzelf nu de methode van de eerste reactie.. Dit werkt nu oke.. Jammer dat je niet meer kunt uitloggen in nieuwere versies van I.E gebruikmakend van de URL..

Hier werkt het wel op 6.0.2800.. Misschien al weer een iets oudere versie.. Wat is de nieuwe methode om in te loggen via I.E. dan? Of kan dat niet meer via een (ander) URL adres??

Zenda likes some milk every now and then..


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

http://www.php.net/manual/nl/features.http-auth.php

Nogmaals een 401 header versturen zou moeten werken

Programmer - an organism that turns coffee into software.


  • Zenda
  • Registratie: Oktober 2001
  • Laatst online: 06-09 16:17

Zenda

goes milk!

Topicstarter
dat werkt ook idd..

het volgende werkt ook:

code:
1
2
3
4
5
6
7
<?
    echo "<SCRIPT Language=JavaScript>\n";
    echo "parent.window.close();\n";
    echo "</SCRIPT>\n";

    header("Location: http://www.domein.nl");
?>


Als javascript uitstaat heb je er niet zoveel aan, maar het werkt :)

Hij vraagt 'wil u dit scherm afsluiten (oid)' en dan issie ook weg.. Als je vervolgens weer naar da admin directory gaat vraagt hij weer keurig een username en password..

Zenda likes some milk every now and then..

Pagina: 1