Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-01-2012 17:45:01

boulteu
Membre
Date d'inscription: 19-01-2012
Messages: 14

Empêcher l'accès à une action via l'URL

Est-il possible d’empêcher le visiteur d’accéder à une action via l'URL (sachant que cette action doit être accessible en interne pour le bon fonctionnement de l'application) ?

J'ai trouvé un topic à ce sujet sur le net mais je n'ai pas bien compris la solution proposée, ce serait génial si quelqu'un pourrait m'éclairer :

http://www.developpez.net/forums/d71493 … tion-lurl/

Hors ligne

 

#2 25-01-2012 22:48:52

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Empêcher l'accès à une action via l'URL

Si l'accès est interdit aux visiteurs mais pas en 'interne' (je vois pas trop ce que tu veux dire pas la) il faut une authentification quelques part. Donc Zend_Auth + Zend_Acl.

Hors ligne

 

#3 26-01-2012 00:16:26

Moosh
Membre
Lieu: Neufvilles/Hainaut/Belgique
Date d'inscription: 04-03-2009
Messages: 18
Site web

Re: Empêcher l'accès à une action via l'URL

Attention aux xsrf

Si je connais l'url de l'action à laquelle je n'ai pas accès j'envoie un mail à kk'un qui a cet accès et je met l'url dans une des images. si ca marche pas je m'arrange pour qu'il passe sur une page web  où j'ai placé cette fausse image.


--
Moosh // phpFrance // Christophe Gesché // Claroline
Testez mes expériences ZF
http://svn.xp-dev.com/svn/ZF_experiences/ Plus d'info ici http://xp-dev.com/trac/ZF_Experiences/wiki

Hors ligne

 

#4 26-01-2012 01:46:06

boulteu
Membre
Date d'inscription: 19-01-2012
Messages: 14

Re: Empêcher l'accès à une action via l'URL

En gros je t'explique :

1. J'ai une action login dans mon contrôleur index

2. Dans la vue login.phtml de cette action j'ai un formulaire de login

3. J'insère cette vue dans mon layout de la manière suivante :
<?php echo $this->action('login' , 'index'); ?>

Ce que je veux à présent, c'est que l'utilisateur ne puisse pas accéder à l'action login depuis l'url (en tapant index/login) !!!

Il n'a pas besoin de "s'authentifier" pour cela, un simple visiteur pourrait taper index/login dans l'url ce qui provoquerait des problèmes dans mon application !!!

En gros je voudrais interdire l'accès à cette action depuis l'url (à tout le monde) et que cette action ne soit accessible qu'en interne (notamment par le layout)

Hors ligne

 

#5 26-01-2012 08:44:10

Blount
Membre
Date d'inscription: 23-06-2009
Messages: 98
Site web

Re: Empêcher l'accès à une action via l'URL

Dans ce cas, peut-être qu'utiliser une action n'est pas la solution. As-tu regardé à faire autrement ? (ex: aide de vue).

Hors ligne

 

#6 26-01-2012 10:04:26

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Empêcher l'accès à une action via l'URL

Salut, tu peux éventuellement bidouiller quelque chose, c'est pas très propre mais bon.

Dans ta méthode loginAction tu peux faire les tests suivant :
- si l'utilisateur est connecté tu le rediriges sois sur la page précédente soit sur la page d'accueil
- si la page est accédé en méthode GET tu rediriges vers la page que tu veux (comme ça y aller manuellement ne fera rien)
- si la page est accédé en méthode POST (donc soumission de formulaire) tu fais une authentification classique, si celle-ci est OK alors tu es en fonctionnement normale et tu fais le traitement qui doit être fait après l'authentification de l'utilisateur. Dans le cas contraire tu rediriges vers la page que tu veux.

En traitant ces 3 cas là il sera donc impossible pour un utilisateur d'accéder à la page. Après si le soucis vient du faire que le contrôleur demande une page index/login.phtml rien ne t'empêche d'en créer une vide qui servira juste pour pas de bug. De plus sur cette page (à tester) tu peux éventuellement rajouter un header de redirection vers ta page d'accueil.

Hors ligne

 

#7 26-01-2012 23:37:19

boulteu
Membre
Date d'inscription: 19-01-2012
Messages: 14

Re: Empêcher l'accès à une action via l'URL

Merci Orkin

J'ai bidouillé comme tu as dis et sa fonctionne !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages