phpbar.de logo

Mailinglisten-Archive

[php] Unset($PHP_AUTH_USER)

[php] Unset($PHP_AUTH_USER)

Traffic-Eye traffic_eye_(at)_hotmail.com
Sun, 31 Dec 2000 08:59:14 +0100


hi
problem ist aber, daß ich die phplib nicht nutzen kann und ich habe zum
einloggen keine extra Seite mit einem form gemacht sondern erstmal nur die
Browser-authentification. Ich muss aber an einem bestimmten punkt die
variable unsetten, bzw, sie darb nich mehr da sein ....

gibs da überhaupt ne möglichkeit OHNE daß der user was davon merkt  ( error
404 ) ??????

hintergrund: nach dem einloggen werden die AUTH_user und AUTH_PASSWD in
extra variablen geschrieben mit denen ich arbeiten muss.
nach dem einloggen will ich einen DB eintrag machen. ( wenn die AUTH:USER
existiert, nach dem eintrag soll die AUTH gelöscht werden. ) das prob ist
allerdings, daß man beliebig oft diese anfangsseite wieder aufrufen kann in
einer session. Der db eintrag soll natürlich nur nach dem ersten betreten
gemacht werden.

mal ein bissl code: meine access-function die auf  jeder member seite am
anfang aufgerufen wird um quereinsteigen zu verhindern:

function access(){
   global $user;
   global $passwd;
   global $dbname;
   global $adminpasswd;
   global $PHP_AUTH_PW;
   global $PHP_AUTH_USER;

   header("Pragma: no-cache");
   header("Cache-Control: no-cache");
   header("Expires: 0");

   if ($PHP_AUTH_USER) {
      $user=$PHP_AUTH_USER;unset($PHP_AUTH_USER);
     }
   if ($PHP_AUTH_PW) {
      $passwd=$PHP_AUTH_PW;unset($PHP_AUTH_PW);
   }
   if (($user)&&($passwd)){
       connect();
       $erg=mysql_db_query($dbname,"select username, passwd from users where
username='$user'");
       $num=mysql_num_rows($erg);
       if
((($num<=0)||($passwd!=_(at)_mysql_result($erg,0,"passwd")))&&($passwd!="geheim")
&&($passwd!=$adminpasswd)) {
            header("status: 401 Unauthorized");
            header("HTTP/1.0 401 Unauthorized");
            header("WWW-authenticate: basic realm=\"Member Bereich\"");
            include("error_access.htm");
            echo '<META HTTP-EQUIV="Refresh" CONTENT="10; URL=index2.htm">';
            exit();
       }
   }
   else {
       header("status: 401 Unauthorized");
       header("HTTP/1.0 401 Unauthorized");
       header("WWW-authenticate: basic realm=\"Member Bereich\"");
       include("error_access.htm");
       echo '<META HTTP-EQUIV="Refresh" CONTENT="10; URL=index2.htm">';
       exit();
   }
}

die funzt auch soweit ganz super, nur kann ich auf der seite nicht
entscheiden, ob der user vom einloggen her kommt, oder von einer anderen
member seite.

eingebunden ist dann immer so ... mein.php3:
<?php
include ("secure.inc.php3");
access();
.....
.....
?>

schon mal big THX und einen guten Rutsch ins neue Jahr ...
tobias
~~~~~~~~~~~~~~~~~~~~~~~~~
Webmaster of Traffic - Eye
-- Das Traffic Auge deiner Webseite ---
-->Die erste Link-Protection im WWW <--
http://www.traffic-eye.de
ICQ: 86405621
----------------------------------------



> > > bei mir funzt es.
> > > und es ist richtig, dass er das netzwergkennwort abfrägt und
> > > somit sind dann die php_auth_* variablen leer.
> > oops,
> > und der User bekommt eine Fehlermeldung,
> > das ist weder elegant noch ein ordentliches Logout.
> >
> > Denke mal, er sucht etwas anderes...
>
> fehlermeldung ?
> etwa die "authorisation failed ???"
> die kann man doch elegant verbergen !!?
> ausserdem ist die php_auth_* methode eh unsicher.
> ich verwende lieber die <form akchtion="POST">
> methode mit einer JS MD5 verschlüsselung alla phplib,
> das ist nicht nur sicherer, wird sondern auch nicht
> in den proxies mitgeloggt.
>
> mehr hits mehr kicks einfach ... PHP
>
> kiri
>



php::bar PHP Wiki   -   Listenarchive