Fix: security
This commit is contained in:
parent
99fa385602
commit
ac9dea1c19
@ -239,13 +239,13 @@ class UserGroup extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
if ($rid)
|
if (! empty($rid))
|
||||||
{
|
{
|
||||||
// Si on a demande ajout d'un droit en particulier, on recupere
|
// Si on a demande ajout d'un droit en particulier, on recupere
|
||||||
// les caracteristiques (module, perms et subperms) de ce droit.
|
// les caracteristiques (module, perms et subperms) de ce droit.
|
||||||
$sql = "SELECT module, perms, subperms";
|
$sql = "SELECT module, perms, subperms";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
||||||
$sql.= " WHERE id = '".$rid."'";
|
$sql.= " WHERE id = '".$this->escape($rid)."'";
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
$result=$this->db->query($sql);
|
$result=$this->db->query($sql);
|
||||||
@ -261,7 +261,7 @@ class UserGroup extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Where pour la liste des droits a ajouter
|
// Where pour la liste des droits a ajouter
|
||||||
$whereforadd="id=".$rid;
|
$whereforadd="id=".$this->escape($rid);
|
||||||
// Ajout des droits induits
|
// Ajout des droits induits
|
||||||
if ($subperms) $whereforadd.=" OR (module='$module' AND perms='$perms' AND (subperms='lire' OR subperms='read'))";
|
if ($subperms) $whereforadd.=" OR (module='$module' AND perms='$perms' AND (subperms='lire' OR subperms='read'))";
|
||||||
else if ($perms) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)";
|
else if ($perms) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)";
|
||||||
@ -272,12 +272,12 @@ class UserGroup extends CommonObject
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Where pour la liste des droits a ajouter
|
// Where pour la liste des droits a ajouter
|
||||||
if ($allmodule) $whereforadd="module='$allmodule'";
|
if (! empty($allmodule)) $whereforadd="module='".$this->escape($allmodule)."'";
|
||||||
if ($allperms) $whereforadd=" AND perms='$allperms'";
|
if (! empty($allperms)) $whereforadd=" AND perms='".$this->escape($allperms)."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ajout des droits de la liste whereforadd
|
// Ajout des droits de la liste whereforadd
|
||||||
if ($whereforadd)
|
if (! empty($whereforadd))
|
||||||
{
|
{
|
||||||
//print "$module-$perms-$subperms";
|
//print "$module-$perms-$subperms";
|
||||||
$sql = "SELECT id";
|
$sql = "SELECT id";
|
||||||
@ -339,13 +339,13 @@ class UserGroup extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
if ($rid)
|
if (! empty($rid))
|
||||||
{
|
{
|
||||||
// Si on a demande supression d'un droit en particulier, on recupere
|
// Si on a demande supression d'un droit en particulier, on recupere
|
||||||
// les caracteristiques module, perms et subperms de ce droit.
|
// les caracteristiques module, perms et subperms de ce droit.
|
||||||
$sql = "SELECT module, perms, subperms";
|
$sql = "SELECT module, perms, subperms";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
||||||
$sql.= " WHERE id = '".$rid."'";
|
$sql.= " WHERE id = '".$this->escape($rid)."'";
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
$result=$this->db->query($sql);
|
$result=$this->db->query($sql);
|
||||||
@ -361,7 +361,7 @@ class UserGroup extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Where pour la liste des droits a supprimer
|
// Where pour la liste des droits a supprimer
|
||||||
$wherefordel="id=".$rid;
|
$wherefordel="id=".$this->escape($rid);
|
||||||
// Suppression des droits induits
|
// Suppression des droits induits
|
||||||
if ($subperms=='lire' || $subperms=='read') $wherefordel.=" OR (module='$module' AND perms='$perms' AND subperms IS NOT NULL)";
|
if ($subperms=='lire' || $subperms=='read') $wherefordel.=" OR (module='$module' AND perms='$perms' AND subperms IS NOT NULL)";
|
||||||
if ($perms=='lire' || $perms=='read') $wherefordel.=" OR (module='$module')";
|
if ($perms=='lire' || $perms=='read') $wherefordel.=" OR (module='$module')";
|
||||||
@ -372,12 +372,12 @@ class UserGroup extends CommonObject
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Where pour la liste des droits a supprimer
|
// Where pour la liste des droits a supprimer
|
||||||
if ($allmodule) $wherefordel="module='$allmodule'";
|
if (! empty($allmodule)) $wherefordel="module='".$this->escape($allmodule)."'";
|
||||||
if ($allperms) $wherefordel=" AND perms='$allperms'";
|
if (! empty($allperms)) $wherefordel=" AND perms='".$this->escape($allperms)."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Suppression des droits de la liste wherefordel
|
// Suppression des droits de la liste wherefordel
|
||||||
if ($wherefordel)
|
if (! empty($wherefordel))
|
||||||
{
|
{
|
||||||
//print "$module-$perms-$subperms";
|
//print "$module-$perms-$subperms";
|
||||||
$sql = "SELECT id";
|
$sql = "SELECT id";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user