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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Forum][Stratégie] Quelques questions


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut [Forum][Stratégie] Quelques questions
    Bonjour

    Je suis en train de developper un petit forum pour mon site web et j'en suis à la partie connexion et je bloque un peu sur quelques petites choses.

    Je sais comment employer un Cookie et une Session, c'est plutôt des problèmes d'ordre stratégique que technique.

    Alors voici sans attendre les quelques interrogations que je me pose :

    1. Pour ce qui est de la connection, je sais que c'est faisable avec des cookies et avec des sessions, mais c'est quoi le mieux ?
    2. Ensuite, je me demandais aussi ce qu'il en était des messages lus/non lus... Je vois plusieurs solutions : Tout simplement, avoir une table lectures dans la base de données, dans laquelle je fais des associations ID du membre et ID de la discussion (C'est pratique car je suis sûr qu'un message lu est lu et qu'un non lu ne l'est pas, mais c'est vite lourd) ou alors, je me base sur le timestamp de la dernière visite et j'efface tout ce qu'il y a avant (là, c'est plus léger, mais c'est pas spécialement pratique pour l'utilisateur)
    3. Troisièmement, j'aimerais savoir les personnes qui sont connectées actuellement, mais je vois pas trop comment faire. Pour dire qu'une personne est connecté, très simple, je met un champ logged = 1 et il est connecté, mais c'est la deconnexion qui pose problème. Si par exemple il ferme son navigateur, comment je peut dire qu'il n'est plus là...
    4. Ensuite, pour ce qui est des droits qu'ont les utilisateurs, le mieux c'est de les stocker (session ou cookie) ou alors de les extirper de la base de données sur chaque page ?
    5. Sinon, avez vous des conseils à me donner pour la création de mon forum ?
    6. Et encore une dernière, avez-vous des liens sur la création d'un forum et surtout sur la gestion des connections, droits et message lus/non lus ?
    7. Sans oublier, un énorme à ceux qui auront la gentilesse de prendre du temps pour répondre à ces questions

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par wichtounet
    Pour ce qui est de la connection, je sais que c'est faisable avec des cookies et avec des sessions, mais c'est quoi le mieux ?
    Je te conseillerais de toujours te reposer sur les sessions, qui sont plus sécurisées (mais qui peuvent faire appel aux cookies, suivant ta configuration). Libre à toi ensuite d'utiliser un cookie pour se souvenir du visiteur, comme sur DVP.
    Citation Envoyé par wichtounet
    Troisièmement, j'aimerais savoir les personnes qui sont connectées actuellement, mais je vois pas trop comment faire. Pour dire qu'une personne est connecté, très simple, je met un champ logged = 1 et il est connecté, mais c'est la deconnexion qui pose problème. Si par exemple il ferme son navigateur, comment je peut dire qu'il n'est plus là...
    Je pense que tu peux faire des tas de choses avec cette fonction :
    http://fr.php.net/manual/fr/function...ve-handler.php
    Mais par contre je suis pas sûr que ça soit très facile !
    Sinon je me souvenais d'un moyen de spécifier une fonction de type callback pour quand la session est détruite, mais me souviens plus c'est ptet ma mémoire qui me joue des tours aussi.
    Citation Envoyé par wichtounet
    Ensuite, pour ce qui est des droits qu'ont les utilisateurs, le mieux c'est de les stocker (session ou cookie) ou alors de les extirper de la base de données sur chaque page ?
    Dans les "bonnes pratiques", on suggère de ne conserver que les identifiants qui permettent de regénérer les permissions, c'est moins sensible aux attaques.

    Voilà... J'ai pas de réponse "magique" à tes questions, désolé ! Bon courage !

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    1. Les cookies servent pour se souvenir de l'utilisateur entre chaque session et éventuellement pendant la session (dépend de la méthode de propagation du SID : par URL ou par cookie). Les sessions te servent à ne pas mettre trop de choses dans les cookies, car ce sont des informations facilement modifiables par l'utilisateur (donc falsifiables). Tu peux gérer les informations de session avec la BDD : c'est un peu plus lourd mais + sécurisé.
    2. Enregistre l'id_user et l'id_post dans une table. Cela te permet de savoir s'il y a eu de nouveaux messages depuis la dernière lecture. C'est un peu lourd mais il faut ce qu'il faut... Pense à faire le ménage à chaque fois que tu insères un tuple.
    3. Il est préférable de mettre les sessions dans la BDD pour des raisons de sécurité et pour permettre certaines choses. Les stats globales en font partie. Enregistre la date dernière activité de l'utilisateur dans sa table : cela te permet à la fois de gérer la date d'expiration du cookie et les stats sur les users connectés.
    4. cf. le premier point : met tout en base de données.
    5. Question trop vaste... Vas-y tranquillement, commence par l'analyse (Merise, UML, etc.) et ne saute pas d'étape.

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Yogui
    Tu peux gérer les informations de session avec la BDD : c'est un peu plus lourd mais + sécurisé.
    Comment on gère les sessions par la DB, vite fait ? (juste les principes)

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['variable'] = 'truc';
    Tu fais une requête INSERT INTO ou UPDATE.

    Tu vois l'idée ?

  6. #6
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Yogui
    Au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['variable'] = 'truc';
    Tu fais une requête INSERT INTO ou UPDATE.

    Tu vois l'idée ?
    oué ok, j'avais l'impression que tu disais qu'il y avait quelque chose de standard, à la manière du session.use_cookies, mais je crois que j'ai forcé sur l'apéro
    Mais la question de wichtounet reste valable, comment est-ce qu'on sait, de manière simple, quand la session est terminée ?

  7. #7
    Membre expérimenté Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Par défaut
    1- Je pense que les sessions sont plus pratiques car certains navigateurs n'acceptent pas les cookies.

    2- La premiere solution est meilleure et plus commode pour l'utilisateur que la 2eme.

    3- Tu ajoute un lien de deconnexion. Pour ceux qui ferment le navigateur sans cliquer sur le lien, tu peux jouer sur le delai d'expiration d'une session (si un utilisateur n'effectue aucun changement pendant une certaine periode te temps predefinie, il sera considerè deconnecté).

    4- A mon avis c'est de les stocker dans la BDD.

    5- La creation d'un moteur de recherche multicriteres (theme, mots clés, date...) pour le forum, c'est sympa.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelques question sur Win 32 Appli
    Par lvdnono dans le forum Windows
    Réponses: 5
    Dernier message: 15/06/2004, 12h37
  2. [Débutant]Quelques questions de principe sur l'API win32
    Par silver_dragoon dans le forum Windows
    Réponses: 4
    Dernier message: 19/03/2004, 18h38
  3. [install]Install sous windows... quelques questions
    Par omega dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/02/2004, 09h50
  4. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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