PHP / Si non connecté, pas accès à la page

Bonjour,

J'ai créer un panneau d'administrateur avec un système de membres, et des sessions, etc.

Lorsque je me connecte, tout fonctionne bien.

J'ai donc testé quelques choses : je me suis déconnecter (là, on m'a redirectionné sur la page index.php où est implanté le formulaire de connexion) et j'ai rentrée dans la barre url l'adresse d'une page de mon panneau d'admin (ici, j'ai pris la gestion des utilisateurs). Et là, j'ai remarqué que même si l'on n'était pas connecté, on pouvait accéder à la page et faire ce que quelqu'un de connecter pourrez faire : modifier, supprimer, etc.

Comment faire pour qu'une personne non connecté ne puisse voir aucune page de l'admin sauf le formulaire de connexion ?

Merci d'avance.

4 réponses

  1. Bonjour,
    Il faut que tu vérifies au début de chaque pages d'administration si la personne est connectée et possède les droits d'administration (utilises des variables de session par exemple).
    De rien.
    1. J'ai déjà utilisé session_start() mais en vain.

      Je cherche en faite ce genre de code qui permette de vérifier la connexion mais je n'ai rien trouvé.
      1. tu peux essayer de mettre une condition sur la valeur de $_SESSION['QuelqueChose']
        exemple:
        if($_SESSION['grade']=='admin'){
        //executer le code
        }else{
        //dégager l'utilisateur
        }
      2. Oui mais j'ai deux rangs :
        Rang à valeur 1 : Administrateur
        Rang à valeur 2 : Modérateur de contenu
      3. Le session_start() sert seulement à créer une session, ensuite il faut que tu utilises des variables de sessions pour identifier l'utilisateur et surtout ses droits.
        Tester si une session est ouverte ne suffit pas pour savoir si la personne est connectée et encore moins si elle est administrateur du site.
        Tu t'es basé sur quoi, pour faire ton panneau administrateur ?
      4. D'un peu de tout ce que je trouver sur internet.
    2. Lorsque l'utilisateur envoi son formulaire de connexion, alors tu traite de tout ceci. Tu vérifie si ses codes sont bon, si oui, tu défini des variables de sessions. Crées en une
      $_SESSION['rang']='son_rang';
      Par exemple.

      Ensuite, sur toutes les pages de ton admin, tu pourra ouvrir les sessions (session_start() ) et ainsi récupérer les variables que tu y a mis.
      1. D'accord. Je vérifie une fois seulement ou sur toutes les pages ?

        Je fais donc cela ? :

        $_SESSION['rang']='1'; 
        $_SESSION['rang']='2'; 
        1. non, si tu fais ça, la valeur seras toujours égal à 2
          le but c'est de stocker le rang de l'utilisateur qui essaye d'accéder à ta page d'administration
          s'il à le bon rang, tu l'autorise, sinon tu lui refuse (bien qu'en général, cette vérification passe par un login+mdp)
        2. D'accord. Je vais essayer cela, je te tient informer.