IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Bloquer l'accès pour un unique utilisateur à la fois


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Bloquer l'accès pour un unique utilisateur à la fois
    Bonjour,

    Je ne sais pas vraiment si je suis dans la bonne section, mais j'espère que vous pourrez m'aider.

    Je cherche tout simplement à bloquer l'accès à un site (ou à un fichier si c'est possible) si un autre utilisateur a une session ouverte sur le site. L'objectif étant qu'il n'y ai qu'un seul utilisateur à la fois sur le site.

    J'ai pensé à plusieurs pistes :
    - Création d'un fichier temporaire -> le problème c'est qu'on ne peut pas définir son nom ou le dossier dans lequel il se trouve et que l'utilisation de tempnam n'implique pas la destruction du fichier à la fin de la session.
    - Pas de variable d'application en PHP ?
    - Pas de Session onEnd ?
    - J'ai regardé flock, mais ça ne semble pas convenir non plus.

    Bref, je sèche.

    Merci d'avance pour les différentes idées que vous pourrez me suggérer.

    TheDuke.

    Edit: petite précision :
    - Il n'y a pas de BDD sur le site pour une quelconque gestion de compte.
    - Le site utilise AJAX, la page ne se recharge jamais.

  2. #2
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par TheDuke Voir le message
    Je cherche tout simplement à bloquer l'accès à un site (ou à un fichier si c'est possible) si un autre utilisateur a une session ouverte sur le site. L'objectif étant qu'il n'y ai qu'un seul utilisateur à la fois sur le site.

    Bonsoir,
    Ah ! Plutôt copieux ton menu de fin d'année.

    Dans ce cas de figure et comme tu le présentes, je dirais non.
    Session = client/serveur
    Une session peut être générée suite à une identification client ou lancée banalement depuis une machine/client.

    On peut donc lancer 1000 ou + sessions différentes et actives sur un même serveur, si tant est que les utilisateurs utilisent des machines/client différentes.
    Mais le serveur ne te dira jamais combien de sessions sont en cours.

    Apparté : Tu disposerais d'une bdd que celà ne ferait pas avancer les choses.
    Simplement parce que tu n'aurais pas de retour d'info sur ta bdd en cas de déconnection d'un utilisateur.
    Et idem pour un fichier temp.

    Tu peux fonctionner "dynamique" lorsque tu as des variables de session communes à d'autres utilisateurs (référence), notamment pour des applicatifs collaboratifs, mais pas de façon anonyme ou aléatoire.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Une solution pourrait être de faire une fonction ping.

    Le but dans une iframe cachée tu envoies un id (qui peux être une IP ou autre choses qui identifie la personne qui navigue sur ton site) de l'user toutes les 2 minutes à une page php qui met à jours la date de derniere connexion ainsi que son ID (ex:IP) dans un fichier temporaire par exemple. donc si un autre user veux se connecter tu constateras vu la date derniere connexion et de l'ID si il peux consulter ton site ou pas. lorsque l'user fermera son navigateur (ou du moin ton site web) le ping s'arretera et 2 min plus tard (au maximum) un autre ou le meme user pourra se connecter...

    Je sais pas si ca que tu attendais...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut penser au problème inverse : c'est bien de detecter que la fenêtre est ouverte mais est-ce que l'utilisateur est toujours actif ? Si je pars au cinéma sans me deconnecter je bloque le site.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci à vous pour ces pistes que je vais tester. Si vous avez d'autres idées, n'hésitez pas . Je vous ferai un retour dès que j'aurai pû mettre en place quelque chose de satisfaisant. (Bien que je me dise déjà que l'utilisation de PHP n'était peut être pas très judicieux...)

    Il faut penser au problème inverse : c'est bien de detecter que la fenêtre est ouverte mais est-ce que l'utilisateur est toujours actif ? Si je pars au cinéma sans me deconnecter je bloque le site.
    En effet, mais le site ou plutôt l'application en question ne sera accessible qu'à un très petit nombre d'utilisateurs (2-3). Une discipline assez strict sur sa fermeture ne devrait pas être trop dur à imposer.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    tu pourrais imaginer de faire un logoff automatique après 1h si le ping viens toujours de la même page. enfin voilà ce ne sont que des idées

Discussions similaires

  1. Droits d'accès pour type d'utilisateur
    Par stephane.julien dans le forum C#
    Réponses: 3
    Dernier message: 24/09/2007, 13h44
  2. jsf et Droit d'Accès pour les utilisateur
    Par pourjava dans le forum JSF
    Réponses: 1
    Dernier message: 20/07/2007, 15h42
  3. Réponses: 8
    Dernier message: 26/06/2007, 12h21
  4. je cherche un script qui peut bloquer l’accès a mon site pour certain adresses ip
    Par lunick dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 29/03/2007, 17h36
  5. Réponses: 4
    Dernier message: 16/11/2006, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo