From 2ecc6266d911e9dee5213bf2cdae64c7d926a868 Mon Sep 17 00:00:00 2001 From: cmaffio Date: Thu, 12 May 2016 16:57:15 +0200 Subject: [PATCH 1/5] Inserimento richiesta di conferma --- TODO | 6 +++-- proxy/proxy_gest.php | 64 +++++++++++++++++++++++++++++--------------- 2 files changed, 47 insertions(+), 23 deletions(-) diff --git a/TODO b/TODO index f7653c5..1310c86 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,9 @@ # Moduli da implementare -- Proxy +- Accesso Desktop - Firewall - DHCP - Routing - +# Proxy +- Possibilita' per gli utenti proxy di cambiarsi la password +- gestione generazione gruppi utenze diff --git a/proxy/proxy_gest.php b/proxy/proxy_gest.php index 4409bee..c0c56a2 100755 --- a/proxy/proxy_gest.php +++ b/proxy/proxy_gest.php @@ -2,6 +2,11 @@ include_once ("../core/config.php"); $UTENTE = login(); $DIRITTI = diritti(1); + +// _SERVER["HTTP_REFERER"] +// _SERVER["PHP_SELF"] +// _SERVER["REQUEST_URI"] + ?> @@ -19,78 +24,95 @@ if (isset($_GET['id'])) { $id = $_GET['id']; if (isset($_GET['azione'])) { $azione = $_GET['azione']; + $genera = 0; switch ($azione) { case "net_up": $query = "UPDATE proxy_net SET attivo = 1 WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate l'abilitazione della rete?"; break; case "net_down": $query = "UPDATE proxy_net SET attivo = 0 WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate la disabilitazione della rete?"; break; case "net_rm": $query = "DELETE FROM proxy_net WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate la rimozione della rete?"; break; case "acl_up": $query = "UPDATE proxy_acl_list SET attivo = 1, data = NOW() WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate l'abilitazione della ACL?"; break; case "acl_down": $query = "UPDATE proxy_acl_list SET attivo = 0, data = NOW() WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate la disabilitazione della ACL?"; break; case "link_up": $query = "UPDATE proxy_acl SET attivo = 1, data = NOW() WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate l'abilitazione dell'URL?"; break; case "link_down": $query = "UPDATE proxy_acl SET attivo = 0, data = NOW() WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate la disabilitazione dell'URL?"; break; case "link_rm": $query = "DELETE FROM proxy_acl WHERE id = $id"; - mysql_query( $query, $DB_ID ); + $testo = "Confermate la cancellazione dell'URL?"; break; case "pool_ins": $query = "INSERT INTO proxy_pool (ip, pool, attivo, ins) VALUES ('$id', 1, 1, NOW()) ON DUPLICATE KEY UPDATE attivo = 1"; - mysql_query( $query, $DB_ID ); - genera($DB_ID); + $testo = "Confermate l'inserimento dell'indirizzo IP nel pool di limitazione?"; + $genera = 1; break; case "pool_rem": $query = "INSERT INTO proxy_pool (ip, pool, attivo, ins) VALUES ('$id', 1, 0, NOW()) ON DUPLICATE KEY UPDATE attivo = 0"; - mysql_query( $query, $DB_ID ); - genera($DB_ID); + $testo = "Confermate la rimozione dell'indirizzo IP dal pool di limitazione?"; + $genera = 1; break; case "user_up": $query = "UPDATE proxy_utenti SET attivo = 1 WHERE id = $id"; - mysql_query( $query, $DB_ID ); - $testo = "Utente Abilitato"; + $testo = "Confermate l'abilitazione dell'utente?"; break; case "user_down": $query = "UPDATE proxy_utenti SET attivo = 0 WHERE id = $id"; - mysql_query( $query, $DB_ID ); - $testo = "Utente Disabilitato"; + $testo = "Confermate la disabilitazione dell'utente?"; break; case "user_rm": $query = "DELETE FROM proxy_utenti WHERE id = $id"; - mysql_query( $query, $DB_ID ); - $testo = "Utente Eliminato"; + $testo = "Confermate la cancellazione dell'utente?"; break; default: $testo = "Regola non implementata"; break; } + + if (isset($_GET['ref'])) { + $ref = pack ('H*', $_GET['ref']); + mysql_query( $query, $DB_ID ); + if ($genera) genera($DB_ID); +?> + + + + - Date: Fri, 13 May 2016 17:02:01 +0200 Subject: [PATCH 2/5] fix vari e sistemazioni --- DBDiff/proxy.sql | 4 ++ core/function.php | 78 ++++++++++++++++++++++++++++++++++----- firewall/index.php | 2 +- proxy/acl_edit.php | 2 +- proxy/acl_lista.php | 14 +------ proxy/index.php | 2 +- proxy/net_acl.php | 28 ++------------ proxy/net_edit.php | 2 +- proxy/net_lista.php | 16 +------- proxy/pool_acl.php | 2 +- proxy/pool_ip.php | 2 +- proxy/pool_lista.php | 2 +- proxy/proxy_gest.php | 7 +--- proxy/users_edit.php | 2 +- proxy/users_lista.php | 13 +++---- proxy/users_pwd.php | 2 +- routing/index.php | 2 +- routing/linee.php | 2 +- routing/modlinea.php | 2 +- utenti/dettlogutenti.php | 3 +- utenti/index.php | 2 +- utenti/logutenti.php | 2 +- utenti/modutenti.php | 2 +- utenti/permessiutenti.php | 2 +- utenti/updatepermessi.php | 2 +- 25 files changed, 106 insertions(+), 91 deletions(-) create mode 100644 DBDiff/proxy.sql diff --git a/DBDiff/proxy.sql b/DBDiff/proxy.sql new file mode 100644 index 0000000..27ead1a --- /dev/null +++ b/DBDiff/proxy.sql @@ -0,0 +1,4 @@ +ALTER TABLE `proxy_utenti` ADD `guest` INT NOT NULL DEFAULT '0' AFTER `modifica`; + +INSERT INTO `pannello_vbc`.`livelli` (`id`, `livello`, `nome`) VALUES (NULL, '1', 'Libero'); +ALTER TABLE `moduli_page` ADD `livello` INT NOT NULL AFTER `pagina`; diff --git a/core/function.php b/core/function.php index 4e3a4f7..e79f841 100755 --- a/core/function.php +++ b/core/function.php @@ -345,7 +345,8 @@ function array_moduli () { moduli.id AS id, moduli.nome AS nome, moduli.directory AS directory, - moduli.descrizione AS descrizione + moduli.descrizione AS descrizione, + permessi.accesso AS accesso FROM utenti JOIN @@ -358,10 +359,10 @@ function array_moduli () { moduli.attivo = 1 "; - $menu[] = array("Home", $CONF['base_url']."/core/main.php",0,"Home Page"); + $menu[] = array("Home", $CONF['base_url']."/core/main.php",0,"Home Page",0); if ($UTENTE['admin']) { - $menu[] = array("Configurazione", $CONF['base_url']."/core/conf.php",0,"Modifica configurazione"); + $menu[] = array("Configurazione", $CONF['base_url']."/core/conf.php",0,"Modifica configurazione",0); $query .= " UNION DISTINCT SELECT moduli.id AS id, moduli.nome AS nome, @@ -379,7 +380,7 @@ function array_moduli () { $res = mysql_query( $query, $DB_ID ); while ($dato = mysql_fetch_array ($res)) { - $menu[] = array($dato['nome'], $CONF['base_url']."/".$dato['directory']."/index.php",$dato['id'], $dato['descrizione']); + $menu[] = array($dato['nome'], $CONF['base_url']."/".$dato['directory']."/index.php",$dato['id'], $dato['descrizione'], $dato['accesso']); } $menu[] = array("Cambio password", $CONF['base_url']."/core/chkpasswd.php",0,"Cambio Password"); @@ -437,10 +438,12 @@ function lista_moduli () { moduli_page JOIN moduli - ON - moduli.id = moduli_page.id_moduli + ON + moduli.id = moduli_page.id_moduli WHERE moduli_page.attivo = 1 + AND + moduli_page.livello <= ".$menu[$i][4]." AND moduli_page.id_moduli = ".$menu[$i][2]." ORDER BY @@ -465,6 +468,18 @@ function lista_moduli () { function diritti ($minimo) { global $UTENTE, $DB_ID, $CONF; + $query = " SELECT + livello + FROM + livelli + WHERE + nome = '$minimo' + "; + + $res = mysql_query( $query, $DB_ID ); + $dato = mysql_fetch_array ($res); + $minimo = $dato['livello']; + preg_match ('/^'.preg_replace('/\//','\/',$CONF['base_url']).'\/([^\/]+)\/.*/', $_SERVER['REQUEST_URI'], $trovato); $modulo = $trovato[1]; @@ -473,17 +488,25 @@ function diritti ($minimo) { FROM moduli JOIN - permessi ON moduli.id = permessi.id_moduli AND permessi.id_utenti = ".$UTENTE['id']." + permessi + ON + moduli.id = permessi.id_moduli + AND + permessi.id_utenti = ".$UTENTE['id']." WHERE moduli.directory = '$modulo' - AND + AND moduli.attivo = 1 UNION DISTINCT SELECT moduli.superadmin FROM moduli JOIN - utenti ON utenti.id = ".$UTENTE['id']." AND utenti.admin = 1 + utenti + ON + utenti.id = ".$UTENTE['id']." + AND + utenti.admin = 1 WHERE moduli.directory = '$modulo' "; @@ -572,4 +595,41 @@ function generateStrongPassword($length = 9, $add_dashes = false, $available_set return $dash_str; } +function html_spazi ($dati) { + global $CONF; + + print ""; + $somma = 0; + foreach ($dati as $riga) { + if (!$riga) { + $riga = 100 - $somma; + } else { + $somma += $riga; + } +?> + +"; +} + +function html_intestazione ($dati, $tipo = array ()) { + global $CONF; + + print ""; + foreach ($dati as $key => $riga) { + if ($riga == "") { + $riga = " "; + } + + if (isset ($tipo[$key]) && $tipo[$key] != "") { + $classe = $tipo[$key]; + } else { + $classe = "descrizione"; + } +?> + +"; +} + ?> diff --git a/firewall/index.php b/firewall/index.php index 5771ac6..f8ccc8a 100755 --- a/firewall/index.php +++ b/firewall/index.php @@ -1,7 +1,7 @@
- - - - - - - - - - - + diff --git a/proxy/index.php b/proxy/index.php index afcbc82..9872256 100755 --- a/proxy/index.php +++ b/proxy/index.php @@ -1,7 +1,7 @@ diff --git a/proxy/net_acl.php b/proxy/net_acl.php index 29a9fdf..64569eb 100755 --- a/proxy/net_acl.php +++ b/proxy/net_acl.php @@ -1,7 +1,7 @@
- - - - - - - - - - - - - - - - - - - - - - -
ReteNegaDefaultAutorizzaNome Lista
- - - - - - - - - - - - - + diff --git a/proxy/pool_acl.php b/proxy/pool_acl.php index c18ce56..372d9fa 100755 --- a/proxy/pool_acl.php +++ b/proxy/pool_acl.php @@ -1,7 +1,7 @@ diff --git a/proxy/pool_lista.php b/proxy/pool_lista.php index c290631..78a58ac 100755 --- a/proxy/pool_lista.php +++ b/proxy/pool_lista.php @@ -1,7 +1,7 @@ diff --git a/proxy/users_edit.php b/proxy/users_edit.php index e17d2ba..d7154f1 100755 --- a/proxy/users_edit.php +++ b/proxy/users_edit.php @@ -1,7 +1,7 @@ -
+ - + - - - + - + diff --git a/proxy/users_pwd.php b/proxy/users_pwd.php index 5464437..52b618f 100755 --- a/proxy/users_pwd.php +++ b/proxy/users_pwd.php @@ -1,7 +1,7 @@