|
From: | Laurent Destailleur (Eldy) |
Subject: | Re: [Dolibarr-dev] [Fwd: [Dolibarr-cvs] dolibarr/htdocs/comm propal.php] |
Date: | Wed, 24 Jan 2007 19:38:54 +0100 |
User-agent: | Thunderbird 1.5.0.9 (Windows/20061207) |
Rodolphe Quiedeville a écrit :
Franky avait raison sur ce point. En effet, il y a bien test pour bloquer ceux qui n'ont pas le droit de voir les propales mais la fonctionnalité amené par Regis qui est d'offir un droit pour permettre de voir toutes les propales des autres meme qd on est utilisateur externe n'était plus effective.Le 24.01.2007 12:07, Franky Van Liedekerke a ecrit :Ce fix n'est pas tout à fait correct je pense, parce-que maintenant les droits du user sont ignorés. Fix amélioré: if (!$user->rights->commercial->client->voir && $user->societe_id > 0 && $user->societe_id!=$propal->socid) { accessforbidden(); }Le fix actuel est correct, les permissions de l'utilisateurs sont testées ligne 49 par : if (!$user->rights->propale->lire) accessforbidden();
J'ai fait la correction sur compta/propal.php et comm/propal.phpJ'ai de plus revu un peu différemment ta modif Rodolphe pour les raison suivantes: Par principe les tests de sécurité doivent selon moi etre fait toujours au debut. Toutes les pages php font cela au debut dans la section qui a le commentaire
// Sécurité accés clientJ'ai modifié un peu partout il y a un moment pour qu'il en soit ainsi en ajoutant ce commentaire un peu partout pour que cela aparaisse evident. En effet mettre la securité en bas ou milieu des pages peut laisser des failles. De plus, cela ne respecte pas le model MVC qui veut que d'abord on fait les tests de controles, puis on realise les actions et enfin on affiche la page. Dolibarr aujourd'hui respecte ce concept meme si c'est un modele MVC obtenu par "ordre du code dans une PHP" et non par utilisation d'un framework qui decoupe cette page en 2 (controlleur pour les test et les actions puis page pour affichage. Mais c'est toujours mieux que rien ca rca garanti de bone pratique de dev et ca facilitera une migration vers des frameworks MVC (Smarty), meme si personne j'aime pas :-). Cela a d'ailleurs permi de corriger un bug qui était la muavaise position du
if ($mesg) print "$mesg<br>";qui se trouvait avant le llxHeader au lieu de après du fait de ta modif pour décaler le llxHeader necessaire car le chargement des données d'action (la propal) et le test de sécurité se trouvait trop bas.
A++
-- Laurent Destailleur. --------------------------------------------------------------- EMail: address@hidden Web: http://www.destailleur.fr IM: IRC=Eldy, Jabber=Eldy AWStats (Author) : http://awstats.sourceforge.net CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net AWBot (Author) : http://awbot.sourceforge.net Dolibarr (Contributor) : http://www.dolibarr.org
[Prev in Thread] | Current Thread | [Next in Thread] |