From 921a3797403432ce33da9c4ed9130bb3c0b0445a Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 2 Nov 2011 20:24:51 +0100 Subject: [PATCH] Fix: security --- htdocs/admin/boxes.php | 16 ++++++++------- htdocs/admin/ihm.php | 21 +++++++++----------- htdocs/core/lib/usergroups.lib.php | 2 +- htdocs/main.inc.php | 1 + htdocs/user/index.php | 2 +- htdocs/user/info.php | 8 ++++---- htdocs/user/note.php | 6 +++--- htdocs/user/param_ihm.php | 31 ++++++++++++++---------------- 8 files changed, 42 insertions(+), 45 deletions(-) diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 45d003a6acc..2e9c2df0a92 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -28,8 +28,10 @@ include_once(DOL_DOCUMENT_ROOT."/core/lib/admin.lib.php"); $langs->load("admin"); -if (!$user->admin) - accessforbidden(); +if (!$user->admin) accessforbidden(); + +$rowid = GETPOST('rowid','int'); +$action = GETPOST('action'); // Definition des positions possibles pour les boites $pos_array = array(0); // Positions possibles pour une boite (0,1,2,...) @@ -39,12 +41,12 @@ $boxes = array(); /* * Actions */ -if ((isset($_POST["action"]) && $_POST["action"] == 'addconst')) +if ($action == 'addconst') { dolibarr_set_const($db, "MAIN_BOXES_MAXLINES",$_POST["MAIN_BOXES_MAXLINES"],'',0,'',$conf->entity); } -if ($_POST["action"] == 'add') +if ($action == 'add') { $sql = "SELECT rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."boxes"; @@ -95,12 +97,12 @@ if ($_POST["action"] == 'add') } } -if ($_GET["action"] == 'delete') +if ($action == 'delete') { $db->begin(); $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes"; - $sql.= " WHERE rowid=".$_GET["rowid"]; + $sql.= " WHERE rowid=".$rowid; $resql = $db->query($sql); // Remove all personalized setup when a box is activated or disabled @@ -111,7 +113,7 @@ if ($_GET["action"] == 'delete') $db->commit(); } -if ($_GET["action"] == 'switch') +if ($action == 'switch') { // On permute les valeur du champ box_order des 2 lignes de la table boxes $db->begin(); diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index e49910e2745..790341a9bd3 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -37,24 +37,21 @@ $langs->load("companies"); $langs->load("products"); $langs->load("members"); -if (!$user->admin) - accessforbidden(); +if (! $user->admin) accessforbidden(); + +$action = GETPOST('action'); if (! defined("MAIN_MOTD")) define("MAIN_MOTD",""); // List of supported permanent search area -$searchform=array( "MAIN_SEARCHFORM_SOCIETE","MAIN_SEARCHFORM_CONTACT", - "MAIN_SEARCHFORM_PRODUITSERVICE","MAIN_SEARCHFORM_ADHERENT"); -$searchformconst=array($conf->global->MAIN_SEARCHFORM_SOCIETE,$conf->global->MAIN_SEARCHFORM_CONTACT, - $conf->global->MAIN_SEARCHFORM_PRODUITSERVICE,$conf->global->MAIN_SEARCHFORM_ADHERENT); -$searchformtitle=array($langs->trans("Companies"),$langs->trans("Contacts"), - $langs->trans("ProductsAndServices"),$langs->trans("Members")); -$searchformmodule=array('Module1Name','Module1Name', - 'Module50Name','Module310Name'); +$searchform=array("MAIN_SEARCHFORM_SOCIETE","MAIN_SEARCHFORM_CONTACT", "MAIN_SEARCHFORM_PRODUITSERVICE","MAIN_SEARCHFORM_ADHERENT"); +$searchformconst=array($conf->global->MAIN_SEARCHFORM_SOCIETE,$conf->global->MAIN_SEARCHFORM_CONTACT,$conf->global->MAIN_SEARCHFORM_PRODUITSERVICE,$conf->global->MAIN_SEARCHFORM_ADHERENT); +$searchformtitle=array($langs->trans("Companies"),$langs->trans("Contacts"),$langs->trans("ProductsAndServices"),$langs->trans("Members")); +$searchformmodule=array('Module1Name','Module1Name','Module50Name','Module310Name'); -if (isset($_POST["action"]) && $_POST["action"] == 'update') +if ($action == 'update') { dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"],'chaine',0,'',$conf->entity); @@ -102,7 +99,7 @@ print $langs->trans("DisplayDesc")."
\n"; print "
\n"; -if (isset($_GET["action"]) && $_GET["action"] == 'edit') // Edit +if ($action == 'edit') // Edit { print '
'; print ''; diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index cef75daef65..3eabf3291a7 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -233,7 +233,7 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) $url=$urltheme."/".$subdir."/thumb.png"; if (! file_exists($file)) $url=$urltheme."/common/nophoto.jpg"; print '
'; - print ''; + print 'id:'').'" style="font-weight: normal;" alt="'.$langs->trans("Preview").'">'; if ($subdir == $conf->global->MAIN_THEME) $title=$langs->trans("ThemeCurrentlyActive"); else $title=$langs->trans("ShowPreview"); print ''.$title.''; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 99c32fbe253..85d41de3443 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -83,6 +83,7 @@ function test_sql_and_script_inject($val, $get) $sql_inj += preg_match('/(\.\.%2f)+/i', $val); // For XSS Injection done by adding javascript with script $sql_inj += preg_match('/