Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 17h59   #1
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
Par défaut Empecher deux connections simultanées

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
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 11h47   #2
Nouveau Membre du Club
 
Avatar de Rodrick
 
Étudiant
Inscription : avril 2005
Messages : 87
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2005
Messages : 87
Points : 39
Points : 39
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.
Rodrick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 11h54   #3
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
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.
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 12h07   #4
Rédacteur/Modérateur
 
Avatar de marcha
 
Homme Marc Chappuis
Développeur Web
Inscription : décembre 2003
Messages : 1 535
Détails du profil
Informations personnelles :
Nom : Homme Marc Chappuis
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2003
Messages : 1 535
Points : 2 206
Points : 2 206
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 !
marcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 12h13   #5
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
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
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 13h58   #6
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
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
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 14h04   #7
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
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.
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 23h19   #8
Membre habitué
 
Avatar de Giantrick
 
Inscription : janvier 2007
Messages : 269
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : janvier 2007
Messages : 269
Points : 146
Points : 146
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 !!!
Giantrick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2007, 09h39   #9
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
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 ^
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2007, 09h46   #10
Membre habitué
 
Avatar de Giantrick
 
Inscription : janvier 2007
Messages : 269
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : janvier 2007
Messages : 269
Points : 146
Points : 146
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...
Giantrick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h09.


 
 
 
 
Partenaires

Hébergement Web