Session / _SERVER variables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Session / _SERVER variables

Session / _SERVER variables

par Elshaa » 08 févr. 2007, 21:06

Hello,

J'ai un soucis en voulant gerer la deconnection d'utilisateurs.
Je log les users via un ldap de cette facon (a la grosse)

Code : Tout sélectionner

function authenticate_user() { header('WWW-Authenticate: Basic Realm="E-Group Internal Info"'); header('HTTP/1.0 401 Unauthorized'); include('../401.html'); exit; } $username = $_SERVER['PHP_AUTH_USER']; $passwd = $_SERVER['PHP_AUTH_PW']; // Initalize connection with the ldap server. $ds = ldap_conn($LDAPSERVER, $LDAPPORT, $USETLS, $LDAPVERSION); // Bind as root and search for the user DN ldap_bind($ds, $ROOTDN, $ROOTPASS); $dn = get_dn_local($ds, $username); // Bind as user with the right DN $result = ldap_bind($ds, $dn, $passwd); ldap_close($ds); // If bind failed, then prompt for a login / password again if (!$result || $passwd == "") { authenticate_user(); }
Je veux maintenant pouvoir gerer leur deconnexion. Apres quelques recherches, je vois que les sessions sont le meilleur (seul ?) moyen pour faire ca.

Le problem, c'est que l'utilisation de ceci :

Code : Tout sélectionner

header('WWW-Authenticate: Basic Realm="E-Group Internal Info"');
va creer les variables $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW'], qui resteront la, meme apres creation / desctruction d'une session, donc au final, vu mon code, l'utilisateur sera toujours percu comme 'loggue' par le systeme.
J'ai l'impression que je ne peux pas m'en sortir, a cause des ces 2 variables que je ne peut pas detruire. Une solution serai de creer mon propre formulaire, je ne serai plus embeter avec ces variables _SERVER*, et la destruction d'une session indiquerai bel et bien qu'un utilisateur est deconnecte.

Est-ce qu'il y a moyen de detruire ces variables (cote client et server). J'ai essayer de les 'unset', mais elle reste qqpart (cookie chez le client ?).

Je suis un peu beaucoup perdu la, merci de votre aide.