Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
649 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu ]ma méthode pour empecher l'accés direct à une page. Correct ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu ]ma méthode pour empecher l'accés direct à une page. Correct ?

n°2135320
domi_bu
Posté le 07-04-2012 à 17:17:22  profilanswer
 

Bonjour
 
Il y a de nombreux topics sur le sujet, mais tres tres souvent il faut passer par des variables de session.  
 
Est ce que c'est pas plus simple de tester une variable à l'entrée de la page ? Et si cette variable n'existe pas, alors rediriger ? Par exemple
 

Code :
  1. <?php if (!defined("EST_PASSE_PAR_INDEX" )) {  header("location: ../../index.php?section=accueil" );} ?>


 
Que pensez vous de cette méthode ? Pas fiable ?  
 
Autre question : comme les pages que je désire protéger sont un peu partout dans des sous répertoires, je ne peux pas définir une redirection "standarde", d'où les "../../" qui trainent dans l'exemple. Est ce grave ?  
 
Merci de vos remarques sur le sujet. Et bonnes fêtes de Pâques ;-)
 
dominique


Message édité par domi_bu le 09-04-2012 à 10:00:32
mood
Publicité
Posté le 07-04-2012 à 17:17:22  profilanswer
 

n°2135348
billgatesa​nonym
Posté le 08-04-2012 à 10:51:00  profilanswer
 

1. Oui, tout à fait, on n'est pas du tout obligé d'utiliser les variables de sessions.
 
2. Non pour defined()
 
a) D'abord "Si vous voulez vérifier si une variable existe, utilisez isset() car defined() ne s'applique qu'aux constantes." (source : http://fr2.php.net/manual/fr/function.defined.php )
 
b) Ensuite ce serait intéressant si la variable était définie. Mais comment la définir ?
 
Il faut garder en tête le principe du fonctionnement client-serveur.
Il s'agit non seulement d'un dialogue entre deux côtés, mais en plus d'un dialogue où chaque côté n'a pas quasiment pas de mémoire.
C'est comme deux très vieilles personnes qui parlent ensemble. Ils oublient le contexte d'une phrase à l'autre.
 
Si l'on veut suivre un fil de conversation client/serveur, sans passer par des variables de session et sans passer par des cookies,
il faut obligatoirement faire transférer une variable à chaque submit (côté client) et à chaque création dynamique de page (côté serrveur).
 
Cela demande un travail beaucoup plus important que d'utiliser un simple defined() (ou un isset()), mais c'est tout à fait faisable, et je l'ai d'ailleurs fait moi-même plusieurs fois.


Message édité par billgatesanonym le 08-04-2012 à 10:51:54
n°2135384
domi_bu
Posté le 09-04-2012 à 10:00:13  profilanswer
 

ok merci pour ta réponse bill ! Donc j'en conclue que ce que j'ai fait est correcte. Je généralise à toutes mes pages. Merci
 
Dominique

n°2135404
Pascal le ​nain
Posté le 09-04-2012 à 14:59:35  profilanswer
 

Juste une question, c'est quoi l'interet d'absolument vouloir eviter les sessions ?

n°2135405
domi_bu
Posté le 09-04-2012 à 15:10:11  profilanswer
 

lo
 
Parce que c'est plus consommateur que une simple variable. Me trompe je ?  
 
Dom

n°2135406
Pascal le ​nain
Posté le 09-04-2012 à 15:23:10  profilanswer
 

Effectivement, ca coute un peu plus.
Mais si tu veux coder proprement, l'optimisation passe en dernier, et la clarté en premier. Dans ce cas la, la propreté, c'est les sessions.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [resolu ]ma méthode pour empecher l'accés direct à une page. Correct ?

 

Sujets relatifs
erreur xml lors d"ouverture de page[Powershell] Methode .find pour trouver une expression exacte
Méthode confirmCode vba exportation requête acces vers Excel
méthode en java qui permet de séléctionner une chaine dans un tableauAccès à un sharepoint via un programme VB.NET
[C#] REST, méthode POST, valeur du stream, doit il être encodé ?Empêcher la réactulisation (F5)
Diviser le chargement d'une page en 2 phases / preload et onloadaccès aux répertoires, fichiers en fonction du statut de l'utilisateur
Plus de sujets relatifs à : [resolu ]ma méthode pour empecher l'accés direct à une page. Correct ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR