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

PHP & Base de données Discussion :

limiter l'accès à un site web en utilisant php et oracle


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 240
    Points : 65
    Points
    65
    Par défaut limiter l'accès à un site web en utilisant php et oracle
    Bonjour
    j'ai un site web dont je veux limiter l'acces en utilisant des groupes d'utilisateurs. sur la page d'acceuil de mon site il y a un lien "entrer". en cliquant sur ce lien je dois voir apparaitre une page (boite de dialogue ou autre) qui va demander le login et le mot de passe et un bouton envoyeret annuler. en cliquant sur ce bouton envoyer un script doit interroger la base oracle afin de comparer les données entrées par l'utilisateur et savoir ainsi à quel groupe il appartient et desactiver sur les pages suivantes les liens auquels il ne doit pas avoir acces.

    comment puis je reussir ça??
    merci de votre aide

  2. #2
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    Tout d'abord, dans ta table users, tu aura au moins 3 champs : login, password et group

    Ensuite, lorsque ton utilisateur se connecte, quand il fait envoyer après avoir saisi ses identifiants, tu regarde en base si le compte existe bien, et son groupe.

    Puis tu enregistre le groupe de l'user dans une session par exemple, ce qui te permettra de l'utiliser sur chaque page sans la passer en paramètre à chaque fois

    Enfin, chacune de tes pages sera entourée d'un if

    exemple
    un groupe admin et un groupe classic
    l'user veut aller sur une page réservée aux administrateurs (la liste des comptes du site par exemple)

    ta page sera de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
        session_start();
        if ($_SESSION['group'] == 'admin')
        {
            //ta page
        }
        else
        {
            //message d'erreur ou redirection
        }
    ?>
    En gros, si l'user est du groupe admin il pourra accéder à cette page.
    Dans le cas contraire tu peux soit afficher un message disant qu'il n'est pas autorisé à accéder à cette partie du site soit effectuer une redirection avec la fonction header()

  3. #3
    Membre actif Avatar de chtipitou
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 214
    Points
    214
    Par défaut
    un peu plus lourd mais plus dynamique

    une table avec username password et group_id
    une autre table avec groupe_id et une suite de droits possible
    une table page avec les droits necessaire pour y acceder

    quand un utilisateur se connecte tu recupere dans l'autre table la ligne du groupe, t stock ce "tableau" en session, et tu verifies en fonction de la page souhaitée les droits demandé et les droits fourni par l'utilisateur


    ce systeme est un peu plus lourd, mais il a le gros avantage d'etre beaucoup plus souple, pas besoin d'aller trifouiller le code pour l'ajout d'un nouveau groupe
    et tu peux aussi definir des groupes avec des droits specifiques toujours sans avoir a toucher au code
    42
    there is no place like 127.0.0.1
    Mangez des http://www.smarty.net avec vos PHP web s'il vous plait
    var_dump retourne les informations structurées d'une variable, y compris son type et sa valeur. Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 240
    Points : 65
    Points
    65
    Par défaut
    ok mais comment créer la boite de dialogue et comment comparer ce qui est ecrit dans la boite dialogue avec le contenu de la base de donnée

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    ya plein de cours sur internet pour apprendre php. Et je pense que dans la plupart des cours que tu trouveras ça sera expliqué. On ne va pas refaire le cours dans le forum

    Et si tu ne trouve pas d'exemple, tu peux surement en trouver mais avec une base de données mysql (il n'y a aucune différence hormis les commandes de connexion, d'exécution de la requête et de déconnexion)

Discussions similaires

  1. Limiter l'accès à un site web à une seule @IP
    Par omelhor dans le forum Apache
    Réponses: 2
    Dernier message: 07/08/2012, 13h16
  2. [Active Directory]Gestion des groupes d'accès à un site web
    Par apoingsfermes dans le forum Accès aux données
    Réponses: 4
    Dernier message: 06/03/2007, 09h58
  3. pas d'acces au site web sur win2k3
    Par beepee dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 19/10/2006, 08h56
  4. Limitation d'accès à un site Web
    Par hdd dans le forum Apache
    Réponses: 1
    Dernier message: 14/12/2005, 15h34

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