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 :

[Cookies] Système de session rapide et sécurisé


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut [Cookies] Système de session rapide et sécurisé
    Bonjour,

    Je suis en train de developper une application permettant de gérer des listes de médias (musique ou vidéo). Pour simplifier, nous pouvons assimiler son fonctionnement à un forum (vu qu'on retrouve le principe). J'ai un système permettant aux internautes de s'enregistrer. Mon problème se pose au niveau de la gestion des sessions.

    En effet, plusieurs cas se proposent à moi :

    1. Utiliser les sessions implantées directement par PHP. C'est la solution qui semble la plus simple à implanter, mais qui posent certains problèmes aussi. D'une part, il y a des problème de sécurité (car les sessions sont souvement sauvegardé dans un dossier temporaire, accessible à plusieurs personnes, sur un hebergement mutualisé). Et surtout, pas vraiment pratique pour afficher le nombre et la liste des personnes actuellement connectées...

    2. Une autre solution serait d'utiliser les sessions implantée par PHP, et de rajouter un fichier listant les personnes actuellement connectées (par exemple, un fichier contenant array avec les membres connectés). Mais, si ce fichier est modifié par plusieurs personnes en meme temps, il risque peut etre d'y avoir des conflits d'écriture... Et puis, cela ne résout pas le problème de "sécurité".

    3. Une autre solution serait de passer par les bases de données... Beaucoup de forum utilisent ce principe après tout, mais ça reste un peu lourd quand même, je trouve... Et si on choisi d'utiliser une table de type HEAP, c'est beaucoup plus rapide, mais on se prive aussi de champ de type TEXT (pour sauvegarder des données en sessions, par exemple).

    4. Enfin, une autre solution serait de réinventer la roue, et de créer mon propre système de session par fichier texte, comme je le veux. Mais là encore, il risque peut etre d'y avoir des conflits entre les fichiers si le site est beaucoup visité...


    Je ne sais pas si cela expose très clairement le problème qui se pose, problème auquel je ne sais pas du tout répondre à l'heure actuelle... Avez vous une solution miracle, une piste, ou un lien pouvant m'aider ?

    Je précise que cette application sera probablement redistribuée, donc je n'ai pas vraiment accès à la configuration du serveur qui va l'héberger.


    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Par défaut
    Simple...
    NE PAS réinventer la roue.
    Utiliser les variables de session pour les informations de sessions.
    De plus, de toute façon tu as une base de données des utilisateurs donc tu utilises cette BD pour enregistrer et voir qui est en ligne.

  3. #3
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    +1
    - Les sessions pour les variables relatives à la navigation de chaque utilisateurs.
    - La base de donnée ou tu mets un champs last_access int(11) dans ta table utilisateur et que tu réinitialise a time() a chaque chargement (ou lorsqu'il est < time - X). Tu regardes ensuite qui s'est connecté depuis moins de X minutes pour savoir qui est en ligne.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut
    Oui, c'est une solution, mais ça ne résout pas mon problème de sécurité. Au début, je pensais tout simplement changer le dossier d'enregistrement des sessions, mais d'après ce que j'ai pu entendre, certains serveurs ont désactivé la fonction session_save_path()... Vous confirmez ?

  5. #5
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    ah ça, de toute façon, libre a l'hébergeur d'activer / désactiver ce qu'il veut...
    Pris comme ça, certains hébergeur peuvent également t'interdire d'écrire dans un fichiers via un script PHP...

    EDIT :
    Pour ce qui est de la sécurité, de toute façon, ne te prend pas la tête, tu seras dépendant de ce que propose l'hébergeur quoiqu'il arrive.
    Si tu veux de la sécurité, il te faut un hébergement privé voir dédié, auquel cas, c'est toi et toi seul qui parrametrera l'ensemble du serveur. Tu n'auras plus alors à te préocuper de la sécurité au niveau de tes sessions, des droits d'accès à ton fichiers ou des autres domaines hébergés sur le serveur.

    Tu veux de la vrai sécurité -> serveur dédié/privé + cookies + BDD

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut
    Il y a sécurité et sécurité aussi...
    Mais disons que si le dossier d'enregistrement des sessions est accessible par plusieurs personnes, il devient alors très simple de modifier ces sessions pour se faire passer par un administrateur ou autre... plutôt génant tout de même...

Discussions similaires

  1. [Cookies] suppression de cookie et de session
    Par LarZuK dans le forum Langage
    Réponses: 5
    Dernier message: 06/02/2006, 19h01
  2. [Système] Id session Windows
    Par Néo-Tony dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/01/2006, 09h36
  3. [Cookies] newbie: Les sessions en PHP
    Par yoda_style dans le forum Langage
    Réponses: 12
    Dernier message: 20/01/2006, 20h49
  4. Réponses: 2
    Dernier message: 05/12/2005, 11h02
  5. besoin info sur le cookie et la session ?
    Par vbcasimir dans le forum Web
    Réponses: 8
    Dernier message: 16/11/2005, 11h45

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