Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[acces externe] limiter le nombre d'utilisateur

6 réponses
Avatar
ManuPavy
Bonjour,
Le problème a déjà dû se poser, mais je n'ai pas trouver la solution
dans les archives.
Mon appli (réseau) utilise une base Mysql externe. J aimerais limiter le
nombre d'utilisateurs en utilisant une table à laquelle j ajoute une
entrée quand quelqu un lance l appli et j'en supprime une quand il
quitte le programme. Et mon probleme est là : quitte le programme =
"fermeture" ou "fermeture de session" ?
L'intérêt de "Fermeture", c'est de pouvoir faire un FinProgramme si le
nb d enregistrements est supérieur à ma valeur (pas d insertion, pas de
suppression). Sinon, je peux insérer quoiqu il en soit pour supprimer si
le nombre d enregistrememts est trop grand.
Mais que se passe t il lors d un plantage (appli ou windows, probleme de
reseau au moment de suppression (fermeture), ...)
Que me conseillez vous comme solution fiable (pas d'enregistrements
résiduels) et si possible simple ?

Merci d'avance,


Manu

6 réponses

Avatar
olivier A
Bonjour,

ça m'intéresse aussi, car effectivment les ocupures réseaux et/ou
plantages windoziens polluent la table de connexion ..
peut être un batch pour purger la table régulièrement ?


ManuPavy wrote:

Que me conseillez vous comme solution fiable (pas d'enregistrements
résiduels) et si possible simple ?

Merci d'avance,


Manu




---
Antivirus avast! : message Sortant saint.
Base de donnees virale (VPS) : 0519-2, 12/05/2005
Analyse le : 16/05/2005 13:14:50
avast! - copyright (c) 1988-2005 ALWIL Software.
http://www.avast.com
Avatar
Romuald.besset
olivier A a écrit :
Bonjour,

ça m'intéresse aussi, car effectivment les ocupures réseaux et/ou
plantages windoziens polluent la table de connexion ..
peut être un batch pour purger la table régulièrement ?


ManuPavy wrote:


Que me conseillez vous comme solution fiable (pas d'enregistrements
résiduels) et si possible simple ?

Merci d'avance,


Manu








Mécanisme tiré de l'analyse des sessions de PHP.
Créer un enregistrement dans un fichier de sessions à la connexion avec
une dateheure. on aura configuré une fréquence de mise à jour.
Un petit timer avec lé fréquance configurée met à jour le fichier et la
gestion est là !
En effet si, pour une ligne, un enregistrement persiste mais dont
l'ancienneté dépasse la fréquence + un petit temps de latence (2
secondes), il s'agit d'une deconnexion intempestive. Sinon
l'enregistrement est valide, on peut controler aussi une double
connexion et limiter ainsi les accès.

Noter que si les choses sont bien faite, cela n'autorise pas la
reconnexion pendant au pire la durée paramétrée + temps de latence.

Simple et efficace.

++ R&B
WDForge.org
Avatar
Manu
[CUT]

Simple et efficace.
++ R&B



Tu sais ne nos jours le simple et efficace ... ;-)

Manu
Avatar
mat
ManuPavy wrote:
Bonjour,
Le problème a déjà dû se poser, mais je n'ai pas trouver la solution
dans les archives.
Mon appli (réseau) utilise une base Mysql externe. J aimerais limiter le
nombre d'utilisateurs en utilisant une table à laquelle j ajoute une
entrée quand quelqu un lance l appli et j'en supprime une quand il
quitte le programme. Et mon probleme est là : quitte le programme =
"fermeture" ou "fermeture de session" ?
L'intérêt de "Fermeture", c'est de pouvoir faire un FinProgramme si le
nb d enregistrements est supérieur à ma valeur (pas d insertion, pas de
suppression). Sinon, je peux insérer quoiqu il en soit pour supprimer si
le nombre d enregistrememts est trop grand.
Mais que se passe t il lors d un plantage (appli ou windows, probleme de
reseau au moment de suppression (fermeture), ...)
Que me conseillez vous comme solution fiable (pas d'enregistrements
résiduels) et si possible simple ?



Bonjour,
une solution simple et efficace est d'utiliser un verrou sur un
enregistrement de connexion. On tente à chaque login de supprimer tous
les enregistrements du fichier de connexions ce qui échoue pour les
enregistrements actives. Après ceci on peut compter les connexions
actives. Condition importante pour fonctionner est que l'application n'a
pas de déblocages erronnés (p.ex. HFerme, etc).
Salutations
Mat
Avatar
olivier A
Merci de la réponse, c'est une bonne piste effectivement, il suffit de
faire un timer avec la période voulue .... c'est simple et efficace ...

est-ce que dix minutes vous paraît une bonne période ?








Mécanisme tiré de l'analyse des sessions de PHP.
Créer un enregistrement dans un fichier de sessions à la connexion avec
une dateheure. on aura configuré une fréquence de mise à jour.
Un petit timer avec lé fréquance configurée met à jour le fichier et la
gestion est là !




---
Antivirus avast! : message Sortant saint.
Base de donnees virale (VPS) : 0520-1, 17/05/2005
Analyse le : 17/05/2005 20:19:18
avast! - copyright (c) 1988-2005 ALWIL Software.
http://www.avast.com
Avatar
Romuald.besset
olivier A a écrit :
Merci de la réponse, c'est une bonne piste effectivement, il suffit de
faire un timer avec la période voulue .... c'est simple et efficace ...

est-ce que dix minutes vous paraît une bonne période ?




Bonjour,

Hum !
si vous autorisez la connexion multiple par profil (ce qui est une
gageure), pourquoi pas.
Sinon imaginez une erreur d'exécution (perso n'est infaillible),
l'utilisateur devra attendre le temps restant pour se connecter de
nouveau... le temps que sa session qui n'aura été supprimée devienne
obsolète. Je doute alors qu'il accepte ce delai. Dans ce cas une minute
est moins pénalisante.

++ R&B
www.WDForge.org