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 :

Sécuriser mon espace membre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Aucun
    Inscrit en
    Mai 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Mai 2020
    Messages : 9
    Par défaut Sécuriser mon espace membre
    Bonjour à tous, je suis nouveau ici et je me replonge dans le php depuis peu. J'ai quelques bases mais rien d'exceptionnel Mais c'est comme le vélo ça ne s'oublie pas !

    Enfin bref, tôt ou tard j'aurais eu besoin d'aide et je crois que le moment est venu

    Sur mon espace membre j'ai un espace admin. Lorsque qu'un utilisateur se connecte, si il est "user" il est redirigé sur la page index.php, si il est "admin" sur la page /admin/home.php.

    Ca fonctionne très bien mais le problème c'est qu'un utilisateur qui rentre l'url /admin/home.php y accède sans problème.

    Donc voici mon code de base sur index.php et sur /Admin/home.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    	session_start();
    	if(!isset($_SESSION["username"])){
    		header("Location: login.php");
    		exit(); 
    	}
    ?>
    Pour résoudre le problème j'ai modifié comme ceci le fichier /admin/home.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    	session_start();
    	if(!isset($_SESSION["username" || $user['type'] == 'user'])){
    	header("Location: ../login.php");
    		exit(); 
    	}
    ?>
    Pour les "user" aucun problème tout fonctionne et pas d'accès à la page /admin.home.php mais en revanche les "admin" ne peuvent même plus se connecté... Lorsqu'il se connecte la page de connexion charge à nouveau. les ID et MDP de l'admin sont correctes car quand je rentre de mauvaises informations il m'affiche "mot de passe ou identifiant incorrect"

    Merci d'avoir pris le temps de lire

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 54
    Par défaut
    Bonjour Aziard
    Citation Envoyé par Aziard Voir le message
    Pour les "user" aucun problème tout fonctionne et pas d'accès à la page /admin.home.php mais en revanche les "admin" ne peuvent même plus se connecté... Lorsqu'il se connecte la page de connexion charge à nouveau
    Je pense est due au fait que tu ne tiens pas compte du type admin dans ton code, tu ne teste que user.

    Essai ce schéma
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    session_start();  
    if(!isset($_SESSION["username"]))
    {  
    	page login
    }
    elseif($_SESSION["type"] == 'admin')
    {  
    	page admin
    }
    else
    {  
    	page user
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Aucun
    Inscrit en
    Mai 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Mai 2020
    Messages : 9
    Par défaut
    Bonjour et merci pour ta réponse,
    Le code que tu m'a donné c'est celui que je vais mettre sur ma page admin/home.php
    Mais ça ne pose pas de problème le fait que que si je suis admin je sois renvoyer sur cette même page ?
    Car page admin c'est home.php.

    Je vais essayer ça dès que je peux !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu as surtout un problème de CONCEPTION.

    Quand un utilisateur se connecte, tu dois enregistrer :
    • $_SESSION["username"]
    • $_SESSION["type"]


    Pour protéger chaque page "admin", il suffit alors de mettre au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if( empty($_SESSION["username"]) || empty($_SESSION["type"]) || $_SESSION["type"] != 'admin' )
    {
       header('location:login.php');
       exit; // important
    }
    // Sinon, OK, on continue...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Aucun
    Inscrit en
    Mai 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Mai 2020
    Messages : 9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    empty($_SESSION["type"])  'admin' )
    Oui j'ai un peu de mal à saisir.. La on lui dit que si le champs 'type' est vide il est redirige ? C'est bien ça ? Et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    || $_SESSION["type"] != 'admin' )
    Et la :
    Ou champs 'type' = user plutôt ? Car si il est user il est redirige si il est admin c'est bon

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Aucun
    Inscrit en
    Mai 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Mai 2020
    Messages : 9
    Par défaut
    J'ai essayé comme tu dis mais le problème est toujours le même. la page de login se charge à nouveau lorsque l'admin s'identifie.
    J'ai vérifié dans ma base de donnée et la colonne 'type' existe bien avec comme valeur 'user' ou 'admin'.

    J'ai essayé le code suivant sur ma page index:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p>Identifiant: <?php echo $_SESSION['username']; ?></p>
    <p>Rang: <?php echo $_SESSION['type']== ''; ?></p>
    Il m'affiche bien l'identifiant, mais pour le type il m'affiche toujours '1' admin comme user..

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si tu ne montres pas ton script de connexion, on ne peut pas le deviner, ni le corriger.

Discussions similaires

  1. Que pensez vous de la sécurité de mon espace membre?
    Par diodio13fr dans le forum Langage
    Réponses: 28
    Dernier message: 07/09/2011, 16h46
  2. Recherche dans mon espace membre [SQL]
    Par BuXx57 dans le forum Débuter
    Réponses: 1
    Dernier message: 19/07/2011, 16h24
  3. [1.x] Lier sfDoctrineGuardPlugin à mon espace membre
    Par etoileweb dans le forum Débuter
    Réponses: 35
    Dernier message: 23/11/2010, 11h39
  4. Sécuriser un espace membres
    Par novphp dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 22h39
  5. [Forum] Quel forum pour mon espace membre
    Par okoweb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/08/2008, 00h12

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