[Session] Déconnection massive & test

Déconnection massive & test [Session] - PHP - Programmation

Marsh Posté le 28-01-2003 à 19:28:59    

Voila, genre j'ai trois membres de connectés sur mon site, est-ce qu'il y a un moyen de deconnecter ces trois membres en même tps ?
 
Aussi, j'ai créé un espace membre, je ne sais pas s'il y a des bugs (en principe non), pourriez vous le tester voir si quelque chose ne va pas, et si jamais vous trouvez des failles (genre trouver le pass du compte admin, etc..), me les communiquer (par MP si poss ^^)
 
Merci a vous
:D

Reply

Marsh Posté le 28-01-2003 à 19:28:59   

Reply

Marsh Posté le 28-01-2003 à 23:25:58    

:bounce:  
 
:D

Reply

Marsh Posté le 28-01-2003 à 23:44:35    

deconnexion massive, moi je pense que non, mais je peuix me tromper
 
envoie ladresse du site en MP avec si possible le login/pass de test

Reply

Marsh Posté le 28-01-2003 à 23:48:05    

Bah je peux mettre l'adresse ici ^^
 
http://www.zeldaboss.firstream.net/site/membres/
 
test:test
 
:D

Reply

Marsh Posté le 29-01-2003 à 01:16:08    

déconnexion massive... pq pas
soit tu deletes les fichiers de session  
unlink($HTTP_COOKIE_VARS['PHPSESS']); (ou en GET dans l'url)
 
soit tu fais un delete dans la bd si tu gères les sessions par bd.
 
tu te fais un beau formulaire avec les gens online, tu coches/décoches la déconnexion de chacun, tu valides, et c'est parti :)
 
(j'aime bien cette idée :lol:)

Reply

Marsh Posté le 29-01-2003 à 01:19:26    

je peux juste te dire un truc :
tu as bien bossé  [:tuffgong]

Reply

Marsh Posté le 29-01-2003 à 10:22:20    

HMm, pas mal ^^, justement, comment je fais pour savoir qui est connecté sur le site ?
 

Citation :

je peux juste te dire un truc :  
tu as bien bossé  [:tuffgong]


 
Merchii ^^
 
:D

Reply

Marsh Posté le 29-01-2003 à 11:00:43    

Zelda-Boss a écrit :

HMm, pas mal ^^, justement, comment je fais pour savoir qui est connecté sur le site ?


 
comment fais tu pour la gestion des membres (login/logout) ?
par session et/ou par cookie et/ou enregistrement dans bd ?
 
en fonction de ta méthode, tu peux modifer l'existant pour savoir qui est en ligne actuellement

Reply

Marsh Posté le 29-01-2003 à 12:08:12    

Par session, j'utilise session_start(); et session_register();
 
:D

Reply

Marsh Posté le 29-01-2003 à 13:09:00    

c'est ton serveur ?
si oui, tu peux toujours lire les fichiers de session se trouvant dans /tmp.
à partir de là, tu peux les deleter (unlink) comme je disais dans mon premier post.  pour cela chaque fichier de session dois contenir le login du connecté ou son ip et tu dois lire chaque fichier.  si le login ou l'ip désirée est trouvée dans ce fichier, tu le delete.
 
si ce n'est pas sur ton serveur, tu peux suprimer le cookie (de session) de l'utilisateur.  Tu enregistres dans une table les sessions que tu veux supprimer
A chaque demande de page, tu vérifies si l'utilisateur se trouve dans la liste à supprimer (checkuser($session) par ex). Si oui tu envoies un cookie avec une valeur de session vide (ou un session_destroy(), c'est sans doute mieux) et tu reload la page (header("location:..." )).  
Il recevra une nouvelle session qui ne contient plus son login.

Reply

Marsh Posté le 29-01-2003 à 13:09:00   

Reply

Marsh Posté le 29-01-2003 à 13:35:08    

Bon, alors disons que je veux faire un compteur de connecté. Je devrais faire une table qui contiendra le pseudo du gars ($mb_login). Bon, mettons que dans la table, les pseudos A, B et C sont enregistrés, ca veut dire que les utilisateurs A, B et C sont connectés. Maint'nant, comment faire pour les déconnecter TOUS ?
 
:D


---------------
"La mort n'est que la faiblesse de l'âme." de moi !
Reply

Marsh Posté le 29-01-2003 à 14:05:51    

donc tu as une session, tu l'enregistres/update dans la table des connectés avec l'id de session, le login, l'id du user, ... dans la table des connectés.
tu ne dois plus avoir de variable de session (plus de session_register('login';)).
 
pour les supprimer : delete from table_conectes where login='$login1' or id='$login2'...;
 
pour identifier chaque user :
select * from table_connectes where id='$sess_id'
 
ps : tu vas ralentir l'ensemble du site web
utiliser les variables de sessions est bcp plus rapide que de faire une query sur une table pour voir si l'utilisateur est enregistré et qui il est....


Message édité par ethernal le 29-01-2003 à 14:06:18
Reply

Marsh Posté le 29-01-2003 à 18:28:22    

Houla, c'est vachement compliqué pour faire une deconnection massive apparement ^^. Et pis c'est clair que je vais ralentir tout le site s'il doit faire une verif à chaque fois ^^. Je crois que je vais devoir me passer de cette option d'admin ^^.
 
:D


---------------
"La mort n'est que la faiblesse de l'âme." de moi !
Reply

Marsh Posté le 29-01-2003 à 19:37:17    

3-4 requetes par pages visitées
 
select from online
update online  OU insert into online
delete from online .. where temps de presence terminé
select count() from online => NB connecté
 
deconnection massive : delete from online;
**  
edit, je mettrais plutot un indicateur "adeconnecter" a 1, quand il  visite une page, je vois indicateur a 1, je lance le logout (ferme session-efface la ligne ds online)
donc update online set adeconnecter=1
**


Message édité par beleg le 29-01-2003 à 19:41:24
Reply

Marsh Posté le 29-01-2003 à 19:47:41    

DROP TABLE [:dawa]

Reply

Marsh Posté le 29-01-2003 à 19:50:37    

C'est bien ce que je disais, je vais me passer de cette option d'admin ^^
 

:lol:  :lol:  
 
:D


---------------
"La mort n'est que la faiblesse de l'âme." de moi !
Reply

Marsh Posté le 29-01-2003 à 19:57:31    


 
raté, les sessions sont toujours en cours

Reply

Marsh Posté le 29-01-2003 à 20:01:49    

:jap: spour delete le nombre de connecté :)

Reply

Marsh Posté le 29-01-2003 à 20:40:09    

Oué, donc ca a l'air vachement compliqué (ca fait chier, y'a pas une fonction du genre session_destroy_all(variable); ca serait tellement plus simple ^^)
 
Donc si quelqu'un veut encore tester l'espace membre => www.zeldaboss.firstream.net/site/membres (login:test, pass:test)
 
:D


---------------
"La mort n'est que la faiblesse de l'âme." de moi !
Reply

Marsh Posté le 29-01-2003 à 21:15:31    

beleg a écrit :


delete from online .. where temps de presence terminé


 
là certains petits malins font un rand() pour supprimer les enreg périmés de la table 1 x sur 10 par ex.
moi je delete que qd il y en a un qui se connecte (login).
 
 

Reply

Marsh Posté le 30-01-2003 à 14:44:38    

Zelda-Boss a écrit :

Oué, donc ca a l'air vachement compliqué (ca fait chier, y'a pas une fonction du genre session_destroy_all(variable); ca serait tellement plus simple ^^)


 
non, mais quel en serait l'intérêt ?
de toute façon les users ne s'en rendrait compte que lors du chargement de la prochaine page.
donc comme je le disais, un stockage des users à déconnecter et une query qui check s'il faut ou pas déconnecter le user au chargement de chaque page.
si tu veux pas faire de query tu peux aussi créer un fichier (avec extension .php pour pas qu'il soit lisible!!!) qui contient les sessions à supprimer.
tu check si le fichier existe
- si oui, tu le lis et déconnectes le user s'il est dedans(session_destroy()) et tu le retires du fichier. si le fichier est vide, tu le supprimes.
- si non, tu ne fait rien de plus.


Message édité par ethernal le 30-01-2003 à 14:45:34
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed