Rodolphe Quiedeville a écrit :
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();
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.
J'ai fait la correction sur compta/propal.php et comm/propal.php
J'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 client
J'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: [EMAIL PROTECTED]
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
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev