Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/04/2011, 22h21   #1
Membre habitué
 
Avatar de Niki59
 
Homme
Développeur Web
Inscription : mai 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 212
Points : 136
Points : 136
Par défaut Empecher le visiteur de modifier un id dans l'url de la page.

Bonjour,

Je dispose d'un espace membre sur mon application symfony.
Chaque membre peux créer/éditer un article.

Cependant dans l'url de la page on peut y voir l'id de l'article en cours d'édition ou visualisation.

Du coup, un autre membre qui est connecté peut voir/editer un autre article en changeant l'id dans l'url.

Savez-vous comment est-ce que je peut empêcher ca ?

Est-ce que je dois faire un controle dans l'action à chaque tentative de visualiation/edition pour vérifier que le membre qui regarde est bien l'auteur connecté sur son compte (et pas un autre) ?
Il n'y a pas une solution pus simple et déjà intégré à symfony ? (je pense aux routes par exemple)

Merci
Niki59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 05h09   #2
Inscrit
 
Inscription : décembre 2004
Messages : 317
Détails du profil
Informations personnelles :
Âge : 23
Localisation : Singapour

Informations forums :
Inscription : décembre 2004
Messages : 317
Points : 437
Points : 437
Salut,

Bien sur tu dois verifier que celui qui veut editer un article en est bien l'auteur !
Tu dois pouvoir le faire avec les ACL, ils te permettent de parametrer finement des droits par objet (du moins pour Symfony2, mais il doit y avoir un equivalent avec sf1).
winzou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 08h01   #3
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Je pars du principe que tu es en sf1. Donc pas d'ACL.

Tu as probablement un moyen de ne récupérer que les articles d'un membre. L'idée la plus simple est d'utiliser des sfDoctrineRoute (ou collection) et de changer le paramètre qui défini la méthode qui permet de récupérer les données. Dans cette méthode (qui fait partie du modèle) tu auras ta condition qui limite la recherche aux articles du membre connecté. Soit il est dedans et tu as un article en retour, soit non et la route génère une erreur 404.

Avantage, cela marche avec peu de modification avec des id ou des slug.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 18h51   #4
Membre habitué
 
Avatar de Niki59
 
Homme
Développeur Web
Inscription : mai 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 212
Points : 136
Points : 136
Citation:
Envoyé par Michel Rotta Voir le message
L'idée la plus simple est d'utiliser des sfDoctrineRoute (ou collection) et de changer le paramètre qui défini la méthode qui permet de récupérer les données.
J'adopte cette solution. Merci à vous deux
Niki59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h53.


 
 
 
 
Partenaires

Hébergement Web