Redirection ou pas ??

Eléphanteau du PHP | 12 Messages

19 août 2005, 10:21

Salut !!

Voila j'ai créer une page de login permettant d'accéder à une partie d'administration du site.

Je gère donc le "session_start()".

Je protège les pages de cette partie administration par du code php en haut de chacunes d'entre elles.

<?
session_start();
if(!isset($_SESSION['login'])) {
  echo '<b id="erreur">Vous n\'êtes pas autoriser à acceder à cette zone. Veuillez d\'abord vous authentifier</b>';
  include('index.php');
  exit;
}
?>
Lorsque je me logue je suis redirigé vers une autre page contenant ce code, avec en haut une erreur comme quoi la session a deja demarrée.

J'ai donc contourné le prblème en créant une page "redirect.php" contenant juste un "header("Location: admin.php")".
Cette page ne contient pas de session_start().

Grace à cette manip je n'ai plus le problème du session_start().

Mais j'ai l'impression que c'est de la bidouille plutot qu'autre chose. Si quelqu'un avait une autre solution, je suis preneur ?!

Merci :o
Je veux le nom du comique qui fait circuler une version de Windows sans bug ! Il veut couler la boîte ou quoi ? Enjoy Linux Ubuntu !!

Mammouth du PHP | 19672 Messages

19 août 2005, 10:26

Personnellement ce que je fais en général, c'est un session_start() partout sur le site, admin et public. Mais pour l'accès à l'admin dans un premier temps, je ne fais apparaître les liens d'accès que si le visiteur etst identifié comme admin avec les droits correspondant et ensuite il y a quand même un test de vérification au début de chaque page de l'admin avec redirection automatique vers l'index public si le $_SESSION['niveau_acces'] n'est pas de la valeur requise.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 12 Messages

19 août 2005, 10:32

Merci Cyrano pour ta reponse !!

POur le moment je ne souhaite pas faire apparaitre les liens sur les pages publics car je ne cros pas que mon code php soit bien sécurisé... :oops:

Je voudrais savoir si ma manip est mauvaise en soit ou pas ?

Merci
Je veux le nom du comique qui fait circuler une version de Windows sans bug ! Il veut couler la boîte ou quoi ? Enjoy Linux Ubuntu !!

Mammouth du PHP | 19672 Messages

19 août 2005, 11:17

Non, le principe est bon à priori. Mais la session doit quand même rester continue tout au long du site tant public que privé, sinon un admin qui fais un détour sur les pages publiques pour vérifier ses mises à jour devra se relogguer pour accéder à nouveau à son interface de gestion.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: