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 :

[Sécurité] Différencier Lambda / Membre / Admin


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut [Sécurité] Différencier Lambda / Membre / Admin
    Je suis en train de creer un site web (projet informatique) et j'aimerais:
    _si la personne ne s'identifie pas (UTILISATEUR LAMBDA), alors la personne ne peut presque rien faire sur le site, et surtout ne pas toucher à la BD
    _si MEMBRE, la personne peut modifier ses propres informations
    _si ADMIN, la personne peut modifier toutes la BD

    Je pense dans un premier temps qu'il faut creer 2 tables: MEMBRES et ADMINS
    Mais comment faire pour verifier que la personne qui s'est identifier est un membre ou un admin?
    (Je suis novice en php, j'ai deja penser au $_SESSION ou sinon, en une seul table et mettre des "grades" et vérifier le grade de la personne et lui faire une redirection selon son grade)
    J'espère que vous "voyez" ce que je veux dire, et que vous pouvez m'aider

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    si tu utilise un ID de ta table membre, tu peux ajouter ajouter une variable dans ta table pour definir s'il est admin ou non.

    Exemple : Champs Maitre en tinyint (2) => 0 pour membre et 1 pour admin

    Quand tu charges les infos, alors dans ce cas la tu sais si oui ou non il est admin.

    Je te conseille d'utiliser les sessions si tu utilises plusieurs pages liée pour la sécurité de ton site.

    Sinon si tu maitrise mieux, l'objet...

  3. #3
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut
    Oki doki, mais coment fait-on cela ?
    Par exemple, je suis sur la page identification.php, page me demandant mon Login et mon Password
    celle page me redirige vers Verife.php qui va verifier mes informations et savoir quel est mon grade et va me rediriger en consequent
    Comment faire??

    (Ne puis-je pas utiliser 2 table, une Admin et l'autre Membre car si il y a 3000 membre et seulement 2 admin, voila quoi, temps de recherche pour rien)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    meme si tu as 160 000 entrée dans la table, ca ne sera pas plus lent du moment que tu indexe bien tes champs dans ta table.

    Une table suffit largement à ce que tu as besoin de faire .

  5. #5
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut
    Oki pour une table
    mais alors comment faire ??
    (quand tu parles d'index, tu parles de la clé primaire? ou autre)
    Posons par exemple la table suivante:
    UTILISATEUR(ID_UTILISATEUR(PK), NOM_UTILISATEUR, GRADE_UTILISATEUR)

    PK: clé primaire

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Salut,

    Je te conseille de plutôt consulter un des forums consacrés aux bases de données car là ton problème n'est pas un problème PHP mais un problème de modélisation de base de données. .

    Lorsque tu auras réglé ceci, tu pourras ensuite créer un espace membre et distinguer les utilisateurs anonymes ou loggés et leur donner accès à telle ou telle chose en fonction de leur rôle en utilisant par exemple une session.

    Une page de login permettant à l'utilisateur de se logger et d'enregistrer dans une session $_SESSION son user & son rôle et tu génères un affichage conditionnel.

  7. #7
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut
    Mais j'ai ma table UTILISATEUR
    J'ai un formaulaire.php demandant le nom d'utilisateur et le MDP et de suite il me dit si je suis admin ou membre ou rien du tout et me redirige suivant ce que je suis
    mais pour la redirection je ne sais comment faire

  8. #8
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Citation Envoyé par nicodn02
    mais pour la redirection je ne sais comment faire
    Redirection côté serveur, il faut utiliser la fonction header('location:url'), pour une redirection côté client, tu peux utiliser un window.location='url';

    Si le javscript est désactivé, une redirection client ne fonctionnera pas.

  9. #9
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut
    Ne puis-je pas aussi utiliser une redirection par balise META comme sur le site ci present du forum ?
    Par exmeple j'aimerais faire
    lors de la validation du login et du mdp, soit:
    _redirection vers membre.php
    ou
    _redirection vers admin.php

    je pense au if et compagnie, non?

Discussions similaires

  1. [Sécurité] Sécurité sur une page admin
    Par orbitalxp dans le forum Langage
    Réponses: 7
    Dernier message: 08/01/2007, 16h27
  2. [Sécurité] Sécuriser zone membre
    Par Pepito2030 dans le forum Langage
    Réponses: 1
    Dernier message: 15/12/2006, 16h51
  3. [Sécurité] Gérer les droits Admin/Simple users/Personnes externes
    Par dessinateurttuyen dans le forum Langage
    Réponses: 5
    Dernier message: 16/08/2006, 09h37
  4. [Sécurité] proteger le dossier admin
    Par H-bil dans le forum Langage
    Réponses: 12
    Dernier message: 27/06/2006, 12h54
  5. [Sécurité] Connection authentification membre.
    Par snakejl dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2006, 15h10

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