Page 1 sur 1

Accès à une page non autorisé

Posté : 30 oct. 2006, 18:26
par Kaoteknik
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 :
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 ? :wink:

Posté : 30 oct. 2006, 18:34
par Ajoloca
Bonjour,

Deux solutions relativenment simples.
1 - Les sessions
2 - Les constantes

Pour 1 :
Tu crées une variable de session dans la page d'identification et dans la page du tableau tu testes si cette variable session existe et contient ce que tu attends, dans ce cas tu autorises l'accès.

Pour 2:
Tu définis une constante dans la page d'identification et dans la page du tableau tu testes si constante existe, dans ce cas tu autorises l'accès.
.

Posté : 30 oct. 2006, 18:40
par Kaoteknik
Très bien, je vais orienter mes recherches de ce côté...

Merci pour l'info ! :)