Authentification php surprenante... [résolu] - PHP - Programmation
Marsh Posté le 08-12-2006 à 22:28:44
voici le site dit...
http://jibberishgame.com.linux.oxi [...] &page=news
les comptes toto / toto, tata / tata marchent vous pouvez testé le bug
Marsh Posté le 08-12-2006 à 22:56:50
les variabels de session sont communes aux personnes qui utilisent la meme machine et le meme navigateur
si tu veux tester des logins simultanés avec un seul poste, loggue toi une fois avec firefox, une fois avec IE7 , une fois avec IE6 , une fois avec opera , ....
Marsh Posté le 08-12-2006 à 23:19:56
La j'ai tésté sur le net !!
Jme suis logué sous le compte toto et j'ai demandé a un amis (adresse ip differente) de se connecter avec le compte tata.
Et bien les variables de session de toto sont ecrasé par celle de tata !!
QUE FAIRE??
Marsh Posté le 09-12-2006 à 14:10:15
Code :
|
Ce n'est pas comme cela que fonctionne l'operateur OU || en PHP.
(a || b) == c est faux
(a == c || b == c) est juste
Marsh Posté le 09-12-2006 à 19:09:10
afbilou a écrit :
|
L'erreur viendrai de la?? je vais tester et je vous dit...
en ce qui concerne le session_start() jlai vu oublier dans le code que je vous ai présenté.
Marsh Posté le 09-12-2006 à 19:33:20
J'ai rectifier j'ai mis ca: beacoup plus simple.
Code :
|
ET Bien rien a faire ca ne marche toujours pas.
Je me connecte avec mon pc avec le compte toto.J'ai demandé a un pote sur msn de se loguer avec le compte tata.
Avant qu'il se connecte j'ai "Welcome toto" puis quand il se connecte je rafraichi la page j'ai "Welcome tata".
La variable de session $_SESSION['username'] valai 'toto' puis elle prend la valeur 'tata' lorsque mon pote se connecte (depuis une ip differente) avec le compte tata !!!
Que faire !!!
Marsh Posté le 09-12-2006 à 21:46:20
deja j'ai pas compris le delire de :
-prendre la liste des utilisateurs portant le nom entre (alors que normalement un seul correspont)
-puis ensuite tester si le password est bon
pq ne pas faire select 1 from tmpuser where user=? and password=? et voila ...
Marsh Posté le 09-12-2006 à 22:17:36
red faction a écrit : deja j'ai pas compris le delire de : |
Bah que faudrai t'il faire pour faire une authenfication dans les regles de l'art??
Ta pas un bout de code?
Marsh Posté le 09-12-2006 à 22:30:38
Code :
|
ca doit etre ca jme suis peut etre plante
c le wk et je suis pas trop motivé
mais c surement mieux que ton truc...
Marsh Posté le 10-12-2006 à 12:36:47
C'est BON !! ca marche enfin. Je met le code pour d'autres...
Code :
|
Marsh Posté le 08-12-2006 à 22:27:31
Voici mon code pour Effectuer une authentification avec des session sur mon site.
Il marche ! Mais il ya un gros bug, je lutte depuis 3 jours.
Pour vous expliquer mon bug je vais prendre un exemple.
Comme vous avez pu le constater je fait une requete sur la table des utlisateurs d'un forum phpBB (ce compte sera aussi leur compte sur mon site).
Donc prennons un exemple avec 2 comptes (login / pass) : toto / toto puis tata / tata
Je me connecte avec le compte toto, l'authentification se deroule avec succes.
Les variables de session suivantes existent alors:
donc:
$_SESSION['username'] = 'toto';
Jusque ici pas de probleme (enfin il me semble).
Le probleme survient lorsque une autre personne vien s'authentifier avec un autre compte, par exemple : tata ( le compte toto étant deja authentifier).
Par conséquent dans la "normalité" il y aurai les comptes toto et tata de connectés.
Le souci c'est que les variables de sessions de toto sont écrasées par celle de tata.
Les 2 comptes connecté au site sont 2 comptes ayant pour login tata !!
Quand je suis tout seul sur le site il m'affiche "Welcome toto" puis tata vien s'authentifier.
Je rafraichi ma page, il m'affiche "Welcome tata".
Que faire pour que plusieur compte tournent sans que les variables de sessions ne soit pas COMMUNES lol
Merci de votre aide.
thomas
Message édité par dragon38330 le 10-12-2006 à 12:37:16