Accès à une page non autorisé
Posté : 30 oct. 2006, 18:26
Bonjour,
j'aimerai que l'accès à un fichier nécessite d'être passé par un formulaire d'identification. Le fichier principal contient en effet un tableau dont le contenu est stocké dans une base de données, lequel contenu peut être modifié directement depuis le tableau, sans passer par la base de données.
Bon, essayons d'être plus clair :
- J'ai un premier fichier, "formulaire.html" demandant de renseigner deux champs, l'un pour le pseudonyme, le second pour le mot de passe. Jusque là pas de soucis.
- Un second fichier, nommé "traitement_formulaire.php", contrôle que le pseudonyme et le mot de passe saisis dans les champs du formulaire sont valides. Si ça n'est pas le cas un message d'erreur s'affiche et le visiteur est renvoyé sur la page "formulaire.html". Si les champs sont correctement renseignés, le visiteur accède à un troisième fichier.
- Ce troisième fichier ("tableau.php"), donc, est un tableau qui contient de nombreuses informations sur des personnes faisant parties d'un même groupe. Bien entendu ces informations sont modifiables par les personnes ayant l'autorisation d'accéder à ce tableau. Cependant si une personne venait à quitter le groupe, j'aimerai pouvoir faire en sorte qu'elle ne puisse plus venir consulter ce tableau. Ce qui actuellement est tout à fait possible. En effet, il suffirait pour cette personne d'entrer directement l'url du tableau dans la barre d'adresse de son navigateur, même pas besoin de passer par le formulaire didentification. En terme de sécurité c'est pas le top, vous en conviendrez ! :p
J'ai bien trouvé sur le forum des topics qui faisaient référence à la variable $_SERVER['HTTP_REFERER'], et j'ai tenté de l'appliquer à mon cas. Voici ce que j'ai essayé de faire, sans succès :
Une fois de plus j'appelle à la rescousse SuperPhp. Quelqu'un l'a vu ?
j'aimerai que l'accès à un fichier nécessite d'être passé par un formulaire d'identification. Le fichier principal contient en effet un tableau dont le contenu est stocké dans une base de données, lequel contenu peut être modifié directement depuis le tableau, sans passer par la base de données.
Bon, essayons d'être plus clair :
- J'ai un premier fichier, "formulaire.html" demandant de renseigner deux champs, l'un pour le pseudonyme, le second pour le mot de passe. Jusque là pas de soucis.
- Un second fichier, nommé "traitement_formulaire.php", contrôle que le pseudonyme et le mot de passe saisis dans les champs du formulaire sont valides. Si ça n'est pas le cas un message d'erreur s'affiche et le visiteur est renvoyé sur la page "formulaire.html". Si les champs sont correctement renseignés, le visiteur accède à un troisième fichier.
- Ce troisième fichier ("tableau.php"), donc, est un tableau qui contient de nombreuses informations sur des personnes faisant parties d'un même groupe. Bien entendu ces informations sont modifiables par les personnes ayant l'autorisation d'accéder à ce tableau. Cependant si une personne venait à quitter le groupe, j'aimerai pouvoir faire en sorte qu'elle ne puisse plus venir consulter ce tableau. Ce qui actuellement est tout à fait possible. En effet, il suffirait pour cette personne d'entrer directement l'url du tableau dans la barre d'adresse de son navigateur, même pas besoin de passer par le formulaire didentification. En terme de sécurité c'est pas le top, vous en conviendrez ! :p
J'ai bien trouvé sur le forum des topics qui faisaient référence à la variable $_SERVER['HTTP_REFERER'], et j'ai tenté de l'appliquer à mon cas. Voici ce que j'ai essayé de faire, sans succès :
if($_SERVER['HTTP_REFERER']=="http://www.monsite.com/tableau.php"){
// Vient ici tout le code qui permet d'afficher le tableau...
}
else {
include ("formulaire.html"); // Redirection vers le formulaire d'identification si le visiteur n'est pas passé par là...
}
Voilà, malheureusement j'ai essayé d'entrer l'url "http://www.monsite.tableau.php" sans passer par le formulaire et ça ne pose pas de problèmes pour accéder au tableau, ce qui est assez gênant. J'ai également modifié le code en remplaçant à la première ligne les deux signes "==" par "<>", mais là le résultat c'est que je suis toujours redirigé vers le formulaire, même si j'entre les bons mot de passe et pseudo...Une fois de plus j'appelle à la rescousse SuperPhp. Quelqu'un l'a vu ?