Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je voudrais remercier le créateur de ce forum ainsi que la personne qui a pris le temps de me répondre et qui m'a permis de régler un de mes problèmes.

Mon site avance et de nouveaux problèmes surviennent. J'aurai encore besoin de votre talent et de vos connaissances.

------

Voilà, je suis en train de créer un site avec un code d'accès. Seuls les personnes que j'aurai acceptées pourront visiter le site. Mon entrée "sécurisée" fonctionne très bien.(cela fonctionne sans base de donnée)

Le hic c'est que quelqu'un qui connait les pages peut très bien inscrire directement l'url dans la barre des adresses et surfer sur mon site sans même être passé par la page index où on écrit son mot de passe.

Je sais qu'il doit exister un bout de code qu'on insère sur chacune des pages du site sécurisé afin de vérifier si la page s'est ouverte suite à clic d'un lien ou si ce n'est pas le cas (inscription de l'adresse de la page directement dans la barre adresse) on refuse l'accès en demandant le mot de passe et le nom de l'utilisateur.

Merci de votre aide,

J'attends la réponse avec impatience,

Fred

  • 2 semaines plus tard...
  • 2 semaines plus tard...
Posté

Oui ... par recours aux sessions.

Après authentification, tu exécutes un

session_start();

et tu sauves une variable qui dit que la session s'est ouverte correctement.

$_SESSION["variable"] = "ouverte";

S'il faut tu rediriges le visiteur sur une page d'accueil de l'espace sécurisé.

Sur toutes les pages sécurisées, tu lances aussi un session_start() et tu vérifies l'existence de la variable en question. Si elle existe, c'est ok. Sinon tu rediriges vers la page de connexion par exemple :

header("Location: login.php");

Voilà :)

Posté
  Le hic c'est que quelqu'un qui connait les pages peut très bien inscrire directement l'url dans la barre des adresses et surfer sur mon site sans même être passé par la page index où on écrit son mot de passe.

Le hic, c'est que la fonction principale de ton script... ne sert à rien ?

Si un programme sensé gérer les accès ne marche que pour la page d'accueil, alors autant le jeter :(

Intéresses toi aux sessions, ou au htaccess, tu y gagneras en sécurité. Le htaccess remplit très simplement ce role, alors que comprendre les sessions (ce qui n'est vraiment pas compliqué !) te permettra de réaliser vraiment beaucoup de choses intéressantes ;)

( ce qui ne veut pas dire que l'on ne réalise rien d'intéressant avec le htaccess..

Posté

Le problème avec cette solution utilisant des sessions c'est que mon site contient un menu dynamique qui ouvre des pages grâce à include();

ce qui veut dire que les sessions ne marchent pas car j'ai retiré tout les <html><head> et <body> de mes pages qui s'ouvraient à l'intérieur de la page principale grâce aux include();

Je ne sais donc pas jouer avec les sessions.

Comment faire????

Posté

Si l'include php est fait en tout début de ton fichier (il ne faut pas qu'il y ait du html avant), tu peut mettre ton session_start() dedans.

Exemple :

<?php
session_start()
include('mon_menu.php');
?>
<p>Le reste de ton html...</p>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...