begin process at 2012 05 29 02:14:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

controler la connexion a mon application


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

controler la connexion a mon application

lundi 14 septembre 2009 à 12:45:17 | controler la connexion a mon application

cyrilherve

salut a tous ,
je travail sur un application de gestion de courier en ligne. pour l'acces j'ai cree un table USERS dans Mysql ou est stocke les login et password des differents utilisateurs. j'ai eglament utilise les variables sessions pour les connexions , donc je recupere les loggin et password dans des variables session apres chaque session.
mon probleme est le suivant: jusqu'ici plusieurs utilisateurs peuvent se connecter avec le mm compte. comment je peux remedier a ça ?? du genre avant chaque connexion , le systeme s'assure d'abord que le compte n'est pas deja utilise par une autre personne... est ce que quelqun a un script qlque part qui peut m'aider ??
merci a vous ....

vendredi 18 septembre 2009 à 10:01:03 | Re : controler la connexion a mon application

cyrilherve

tjrs rien pour moi ???? je suis vraimnt coincé ,, please help !!!

vendredi 18 septembre 2009 à 10:13:52 | Re : controler la connexion a mon application

Tonio_35

Bonjour,

Si tu crée une table "session" dans laquelle tu met les colonnes :
ID (Int autoincrément), ID_User (Int clé étrangère de USERS.ID), Session (VARCHAR 255), UpdateDate (Date mise à jours sur update)

A partir de la, a la connexion tu ajoute l'user dans cette table avec sa session php
A la déconnexion tu le vire de la table
A chaque chargement de page, tu met la date a jours

Tu met en place un système de ping pour que si un user reste plus de 5 min sur la même page qu'il mette à jours sa ligne...

A chaque chargement de page tu vire de la table tout les users qui un une date dépassée de 10 min...


La tu sais à 10 min prêt si un user est en ligne ou non...

_________________________________
Min iPomme

vendredi 18 septembre 2009 à 10:37:25 | Re : controler la connexion a mon application

cyrilherve

franchement,,, c'est plutot simple comme solution, par rapport a tout ce que j'essaye de mettre sur pied,,,
je vais juste te demander de me faire une petite precision stp comment je peux faire pour tester en permanence, si un user est reste plus de 5min sur un page,,,

vendredi 18 septembre 2009 à 10:55:07 | Re : controler la connexion a mon application

Tonio_35

Je te conseil un ping Javascript

Une page php qui met à jours ta table SESSION en php appelée à intervalle régulier depuis le client via de l'ajax feras l'affaire...

Tu as besoin de connaitre les bases de l'ajax ;
De savoir appeler une fonction à intervalle régulier en javascript ;

Allé, si tu ne trouve pas je t'autorise à regarder la suite de mon message... Mais je te conseil d'essayer avant...

Texte blanc sur fond blanc
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

// Initialisation des var
var timerID = '';

// Ici c'est une requete l'ajax de base
// A adapter si tu urilise des lib javascript comme mootools
function getXhrPing(){
var xhr = null;
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}

// Ensuite ce qu'on veux faire c'est lancer un timer
// qui fais une requete toute les 5 min
function goPing(){
var xhr = getXhrPing();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
// Le ping c bien passé
}
if(xhr.readyState == 4 && xhr.status != 200){
// Erreur de ping faudrais en relancer un...
}
}
// Ici tu appel ta page qui metteras a jour ta table en bd
// le &nocache= suivis du Math.random() sert à étre
// sur que le navigateur charge bien la page et ne se
// sert pas de son cache
xhr.open("GET","index.php?view=ping&nocache=" + Math.random(), true);
xhr.send(null);
}

// Fonction a appeler sur en bas de page ou une fois le DOM chargé
function ping_session()
{
goPing();
// Pinger tt les 5 min reviens a lancer une fonction toute les 5*60*1000 milisecondes
timerID = setTimeout('ping_session()', 5*60*1000);
}

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Texte blanc sur fond blanc

_________________________________
Min iPomme

vendredi 18 septembre 2009 à 11:06:10 | Re : controler la connexion a mon application

cyrilherve

franchement la ,je crois que la je vais m'arracher les cheveux ,,, deja je viens a peine de me mettre a javascript pour faire de petits controles ,, et voila que je dois dja apprendre ajax !!! rendez vous le moi prochain donc ... a moins que tu ne fasses quelque chose pour moi vraiment


tatus

vendredi 18 septembre 2009 à 11:16:56 | Re : controler la connexion a mon application

Tonio_35

Comme je l'ai écris, c'est de l'Ajax de base, tu as juste à appeler une page php via ton Javascript...

En gros c'est comme si l'utilisateur actualisais sa page toute les 5 min... Mais tu comprends bien que forcer l'actualisation de la page d'un utilisateur n'est pas pratique (Perte de ces données si il rédige un message dans un formulaire...)
Du coup on demande à JavaScript de charger une page en arrière plan... Sans que l'utilisateur ne le vois...

Regarde ce que j'ai écris en blanc et pose moi des questions si tu veux... Lis aussi le tutoriel que je t'ai fournis au dessus, il est assé claire pour débuter.
_________________________________
Min iPomme

vendredi 18 septembre 2009 à 13:51:33 | Re : controler la connexion a mon application

cyrilherve

ok ,
1- j'ai cree une table session avec tout les champs cite ci-dessus coe prevu.
2- a chaque connexion le systeme
. verifie si le login et le pwd est bon si oui
. cree un session ($_session[]...) pour le user en question
. verifie si une ligne correspant a ctt session existe dja dans la table 'session' sinon
. ajoute une ligne dans la table session
. et donne l'acces a l'utilisateur.

pour le deconnexion :
1- la ligne correspondant a l'user est detruite dans la table 'session' et les sessions sont detruite ( session_destroy ,session_unset...)

la pas de probleme ,,,,

maintenant ( et la bien comprendre, parceque trs important a mon avis et tu ne tiens pas compte de ça dans ta solution...)

si l'user reste un certains tps( je crois 24 min par defaut) sans rien faire sur le systeme,,,les sessions le ferme automatique( principe de ftionnement des variables sessions sur php...),mais sa ligne n'est pas detruite dans la table 'session',

consequence: pour de nouveau travailler l'user sera oblige de se reconnecter,,, chose qui lui sera impossible parceque sa ligne est reste dans la table 'session'.

alors: il faut que dans le cas ou le navigateur detruit les sessions aprs un tps d'inactivité ,,, la ligne de l'user connecte soit supprime dans la table 'session'

retour donc a la case de dpart ,, puisqu'on rvient au probleme posé au depart ,,
qu est que tu en penses ????

vendredi 18 septembre 2009 à 14:42:04 | Re : controler la connexion a mon application

Tonio_35

si l'user reste un certains tps( je crois 24 min par defaut) sans rien faire sur le systeme,,,les sessions le ferme automatique( principe de ftionnement des variables sessions sur php...),mais sa ligne n'est pas detruite dans la table 'session',


Alors, non puisque tu ping toute les 5 min... Tu relance l'activité de sa session...

Avant de tester si l'user est connecté, tu supprime de ta table toutes les lignes qui ont une date de plus de 5 min... Donc au pire, si l'user ferme son navigateur violemment, il faudra qu'il attende 5 min avant de se reconecter...

Je pense même que tu peux régler ca avec une déconnexion en passant par javascript :
http://www.developpez.net/forums/d231473/dotnet/contribuez/d1-fermer-session-fermeture-navigateur/


_________________________________
Min iPomme

vendredi 18 septembre 2009 à 21:39:16 | Re : controler la connexion a mon application

kohntark

Membre Club

Salut,

J'ai vraiment lu en diagonale, donc juste 2/3 remarques :

Donc au pire, si l'user ferme son navigateur violemment, il faudra qu'il attende 5 min avant de se reconecter...


C'est énorme !! Même une trentaine de secondes l'est, à mon humble petit avis.
Je pense que les premières questions a se poser sont :
"Est ce grave qu'un utilisateur se connecte à plusieurs endroits ?"
Cyrilherve : j'imagine que tu te l'es posé et que la réponse est oui (pour quelles raisons ?)

"Faut il interdire une nouvelle connexion ou déconnecter l'ancienne ?"
Il y a matière à réflexion. La première solution est à mon avis plus complexe à mettre en oeuvre et moins logique que la seconde.
Dans tous les cas il faudrait te baser sur un contrôle session / cookie, et éventuellement IP, afin que l'utilisateur soit en mesure de se reconnecter de suite.


Cordialement,


Kohntark -


1 2

Cette discussion est classée dans : application, utilisateurs, connexion, password, controler


Répondre à ce message

Sujets en rapport avec ce message

Besoin de conseils [ par neocker ] Bonjour à tous !Tout d'abord merci pour ce site et à tous ceux qui y contribuent, car il m'a déjà beaucoup aidé.Aujourd'hui, je poste mon premier mess SVP gérer des comptes utilisateurs sur votre site [ par OphidiaN ] Voila, j'aimerai faire sur un site :qu'on puisse s'inscrire (pseudo - password).et que par exemple, pour poster un message, on donne son pseudo-passwo Securite [ par faby38 ] Bonjour,sur le site que je suis en train de creer, je veux faire un espace securise, ou on pourra ajouter modifier et supprimer des donnees. Pour cela Probleme de connexion avec la fonction mysql_connect() [ par ALEXGETHAIME ] Des solutions m'ont été proposées pour résoudre l'amalgame m'empêchant de progresser dans l'élaboration de mon application avec la fonction mysql_conn Php sso (single sign on) en appli [ par Diablo62 ] Bonjour, Je sais pas où mettre cette question par conséquent je fais aussi une proposition :) Peut on créer un thème PHP/sécurité ? Ma question por Authentification PHP Oracle [ par midoxe ] Bonjour les amis, je rencontre un problème grave dans l'authentification je sais pas il est du à quoi au juste .. voici le code : // après la récept Variables de session pour application multi-utilisateurs [ par midoxe ] Bonjour, je développe une application PHP Oracle avec 2 modes, "mode user" et "mode admin" par contre j'ai du mal à gérer les variables de session. Probleme de connexion BDD avec dreamweaver require_once () remplacé par virtual [ par Pittichaat ] Bonjour, Débutante en php, j'ai un problème que je n'arrive pas à résoudre. je n'ai pas trouvé d'info à ce sujet et j'ai tout essayé de mon coté sans code sources d'une application qui gere le consommable informatique dans une entrprise [ par belemsouleymane3 ] bonjour SVP aidez moi avec un code source d'une application qui gere le consommable informatique dans une entreprise je compte sur vous pour mesurer m iUI : Système de login [ par clementga ] Bonjour, Je dois mettre en place une application web en utilisant le framework iUI. Cette application a pour page d'accueil, une page de login classi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales