|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Bonjour à tous,
Je cherche à empêcher la connexion simultanée avec un seul login et mot de passe Mon client veut en effet limiter au maximum que des gens se pretent leurs comptes afin de ne payer qu'un seul abonnement. Je ne sais pas quelle est la meilleur facon de faire. Quelqu'un a une idee ? Si jamais quelqu'un l'a deja fait sur symfony, ce serait royal. Bonne journée a tous |
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : avril 2005 Messages : 87 ![]() |
La première solution qui me vient à l'esprit serait de vérifier l'adresse IP.
Tu enregistres l'adresse IP lors de la connexion dans une variable de session et tu la vérifies à chaque action. |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Donc si je comprend bien.
Il se connecte : - J'enregistre L'IP en base par exemple - A quage action, je checke son IP - Si nouvelle connexion dans les 20 min avec ip différentes, je virte l'utilsiateur. Je pense que je vais faire ca. En fait, je ne veux pas interdire plusieurs IP car wanadoo and co sont en dynamique mais juste empecher au maximum l'utilisation du compte par deux personnes au meme moment. Par contre, cela n'empeche pas l'utilisation dans une meme entreprise. La je partais sur just la date de la derniere action. Si connexion moins de 20 minutes pares, --> interdit. Mais c'est vraiment foireux. merci, je vais voir ca. |
|
00
|
|
|
#4 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Malheureusement, l'adresse IP peut être la même si les utilisateurs sont
derrière un NAT. L'idée est de pouvoir vérifier facilement si un utilisateur est logué sur une autre session. Pour cela tu dois avoir accès aux sessions des autres utilisateurs. Deux techniques: 1) tu travail avec session_save_path, cela te permet de lire les sessions en cours. Attention, si tu as plusieurs applications sur le même serveur c'est probablement mieux d'isoler les sessions d'une application en fixant le chemin de sauvegarde des sessions dans un dossier à toi. 2) Tu utilise un système de gestion customisé pour les sessions, avec session_set_save_handler c'est un peux compliqué, mais il existe des scripts qui font ça, par exemple en gérant les sessions dans mysql, voir ce post
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Ok, merci.
Suivant le temps que mon boss me laisse, je vais opter pour r ca. C'est toujours bon a savoir. Bon week end a vous deux. et aux autres aussi d'ailleurs |
|
00
|
|
|
#6 |
|
Membre émérite
![]() Franck Développeur Web indépendant Inscription : avril 2007 Messages : 678 ![]() |
bonjour à tous!!
Je ne veux décourager personne, mais je pense que c'est quasi impossible! En effet, on peut avec les adresses IP ou d'autres méthodes, trouver des petits malins qui ont plusieurs comptes. (ceci est même bien à dénicher) Mais des personnes qui utilisent le même compte en s'échangeant le login/MP. Je dis chapeau à celui qui trouve la solution!! Même une banque ne peu empêcher cela, si demain je décide de laisser mon MP et N° de compte à mon frère pour qu'il gère mon compte pendant que je prend une semaine de vacance en plein désert, rien ne peu empêcher qu'il se connect. c'est comme laisser le code d'une CB et la CB à quelqu'un... Voilà mon avis. Conclusion: Gérer le multicompte ou l'échange de compte c'est possible, mais pas le partage d'un compte, enfin c'est mon point de vu. ++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle |
|
00
|
|
|
#7 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Attention, je n'ai pas dit que c'etait possible a 100%.
Il faut une plateforme de "datamining" sur les statistiques pour detecter de possible 'fraudeur' et cela prend des années. hattrick se démerde tres bien la dessus. Maintenant, je veux juste éviter que un compte soit utilisé deux fois dans le même temps. Rien n'empechera de se connecter à des instants séparés. Mais cela permettrait d'identifier les "possibles" fraudeeurs. Je sais que le gain est faible mais le client y tiens. |
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : janvier 2007 Messages : 269 ![]() |
Je ne suis pas expert sur ce sujet mais une solution additive serait d'ajouter un champ "log" à la table "membre" (où se trouve le login et le mot de passe) et de mettre un indicateur off/on à chaque connexion/deconnexion de l'utilisateur.
Pour la deconnexion, il faut pouvoir tester si la session est toujours active (je crois que c'est la manière de faire, mais je n'ai jamais testé) et ainsi on peut mettre à jour la table et éviter une double connexion sur le meme compte. Après se pose le problème de savoir si un même utilisateur peut avoir besoin d'ouvrir plusieurs session du programme afin de travailler plus facilement sur le meme compte (mais c'est une question à poser au client selon les besoins des utilisateurs) J'espère avoir aider un peu !!! |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
Merci Giantrick.
Je ne me suis pas pris la tete et ceci pour manque de temps. En fait, je log la derniere action de l'utilisateur et son ip. ainsi s'il se logue avec une ip differente dans les 20 inutes, je refus. C'est tres faible comme effet, mais le client voulait cel ^ |
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : janvier 2007 Messages : 269 ![]() |
C'est une autre alternative en effet...
bon courrage...
__________________
----------------------------------------------------- - Etre clair dans sa demande, facilite les réponses. - Organiser son travail et sa programmation est indispensable à une rapide évolution. - Remercier ceux qui vous ont aider favorise le contact et augmente votre crédibilité. Le géant du sud-ouest...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com