305 lines
8.2 KiB
PHP
Executable File
305 lines
8.2 KiB
PHP
Executable File
<?php
|
|
include_once ("../core/config.php");
|
|
include_once ("firewall_library.php");
|
|
$UTENTE = login();
|
|
$DIRITTI = diritti('Utente');
|
|
view_top();
|
|
|
|
if (isset($_POST['regola'])) {
|
|
|
|
$utente = $_POST['utente'];
|
|
$modificato = 0;
|
|
$old = $new = array();
|
|
foreach ($_POST as $id => $valore) {
|
|
if (preg_match ("/^new-(\d+)/", $id, $ris)) $new[$ris[1]] = $valore;
|
|
if (preg_match ("/^old-(\d+)/", $id, $ris)) $old[$ris[1]] = $valore;
|
|
}
|
|
|
|
if ($_POST['regola'] == "intext") {
|
|
foreach ($new as $id => $valore) {
|
|
if ($new[$id] == $old[$id]) continue;
|
|
|
|
$modificato = 1;
|
|
if ($valore >1)
|
|
$stato = 1;
|
|
else
|
|
$stato = $valore;
|
|
|
|
$query = " SELECT
|
|
firewall_versoesterno_regole.id_firewall_versoesterno
|
|
FROM
|
|
firewall_versoesterno_regole
|
|
WHERE
|
|
firewall_versoesterno_regole.id = $id
|
|
";
|
|
|
|
$res = mysql_query( $query, $DB_ID );
|
|
$dato = mysql_fetch_array ( $res );
|
|
|
|
$query = " UPDATE
|
|
firewall_versoesterno_regole
|
|
SET
|
|
stato = $valore,
|
|
modifica = NOW()
|
|
WHERE
|
|
id_firewall_versoesterno = ".$dato['id_firewall_versoesterno'];
|
|
$res = mysql_query( $query, $DB_ID );
|
|
|
|
$query = " INSERT INTO
|
|
firewall_logs
|
|
SET
|
|
id_utenti = ".$UTENTE['id'].",
|
|
tabella = 'versoesterno',
|
|
id_regole = $id,
|
|
stato = $valore,
|
|
data = NOW()
|
|
";
|
|
$res = mysql_query( $query, $DB_ID );
|
|
}
|
|
} else if ($_POST['regola'] == "extint") {
|
|
foreach ($new as $id => $valore) {
|
|
if ($new[$id] == $old[$id]) continue;
|
|
|
|
$modificato = 1;
|
|
if ($valore >1)
|
|
$stato = 1;
|
|
else
|
|
$stato = $valore;
|
|
|
|
$query = " SELECT
|
|
firewall_versointerno_regole.id_firewall_versointerno
|
|
FROM
|
|
firewall_versointerno_regole
|
|
WHERE
|
|
firewall_versointerno_regole.id = $id
|
|
";
|
|
|
|
$res = mysql_query( $query, $DB_ID );
|
|
$dato = mysql_fetch_array ( $res );
|
|
|
|
$query = " UPDATE
|
|
firewall_versointerno_regole
|
|
SET
|
|
stato = $valore,
|
|
modifica = NOW()
|
|
WHERE
|
|
id_firewall_versointerno = ".$dato['id_firewall_versointerno'];
|
|
$res = mysql_query( $query, $DB_ID );
|
|
|
|
$query = " INSERT INTO
|
|
firewall_logs
|
|
SET
|
|
id_utenti = ".$UTENTE['id'].",
|
|
tabella = 'versointerno',
|
|
id_regole = $id,
|
|
stato = $valore,
|
|
data = NOW()
|
|
";
|
|
$res = mysql_query( $query, $DB_ID );
|
|
}
|
|
}
|
|
|
|
// if ($modificato) genera();
|
|
if ($modificato) attiva_aggiornamento();
|
|
}
|
|
|
|
$tabella = new html (0,"90%",array(15,2,30,2,5,0));
|
|
?>
|
|
<form name="" method="post">
|
|
<input type="hidden" name="utente" value="<?php print $UTENTE['id'] ?>">
|
|
<input type="hidden" name="regola" value="extint">
|
|
<tr>
|
|
<td><input type="submit" value="Applica"></td>
|
|
<td colspan="1" class="spazioh"></td>
|
|
<td colspan="3" class="descrizione_c">Regole Esterno -> Interno</td>
|
|
<td colspan="1" class="spazioh"></td>
|
|
</tr>
|
|
<?php
|
|
$tabella->riga (10);
|
|
$query = " SELECT
|
|
firewall_versointerno_regole.id,
|
|
firewall_versointerno_regole.permanente,
|
|
firewall_versointerno_regole.stato,
|
|
firewall_versointerno.nome,
|
|
firewall_versointerno.int_port,
|
|
firewall_versointerno.fw_port,
|
|
firewall_versointerno.proto,
|
|
proxy_pool.nome AS int_nome,
|
|
proxy_pool.ip AS int_ip,
|
|
firewall_vpn.utenza,
|
|
firewall_vpn.ip AS vpn_ip
|
|
FROM
|
|
firewall_versointerno_regole
|
|
JOIN
|
|
firewall_versointerno
|
|
ON
|
|
firewall_versointerno_regole.id_firewall_versointerno = firewall_versointerno.id
|
|
JOIN
|
|
firewall_macchine
|
|
ON
|
|
firewall_versointerno.id_firewall_macchine = firewall_macchine.id
|
|
JOIN
|
|
proxy_pool
|
|
ON
|
|
firewall_macchine.id_proxy_pool = proxy_pool.id
|
|
JOIN
|
|
firewall_vpn
|
|
ON
|
|
firewall_versointerno.id_firewall_vpn = firewall_vpn.id
|
|
JOIN
|
|
utenti
|
|
ON
|
|
firewall_versointerno_regole.id_utenti = utenti.id
|
|
AND
|
|
utenti.id = ".$UTENTE['id']."
|
|
WHERE
|
|
firewall_versointerno_regole.attivo = 1
|
|
ORDER BY
|
|
firewall_versointerno.nome
|
|
";
|
|
$res = mysql_query( $query, $DB_ID );
|
|
while ($dato = mysql_fetch_array ( $res )) { ?>
|
|
<tr>
|
|
<td rowspan=2 class="textl">
|
|
<input type="hidden" name="old-<?php print $dato['id'] ?>" value="<?php print $dato['stato'] ?>">
|
|
<select name="new-<?php print $dato['id'] ?>">
|
|
<option value="0" <?php if ($dato['stato'] == 0 ) print "selected" ?>>Disattivo</option>
|
|
<option value="1" <?php if ($dato['stato'] == 1 ) print "selected" ?>>Attivo</option>
|
|
<?php if ($dato['permanente']) { ?>
|
|
<option value="2" <?php if ($dato['stato'] == 2 ) print "selected" ?>>Permanente</option>
|
|
<?php } ?>
|
|
</select>
|
|
</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
<td class="descrizione">Regola</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
<td class="radio">Perm</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="textl"><?php
|
|
print $dato['nome'].": ";
|
|
print $dato['utenza'];
|
|
print ":".$dato['fw_port']." -> ";
|
|
if ($dato['int_nome'] != "") {
|
|
print $dato['int_nome'];
|
|
} else {
|
|
print $dato['int_ip'];
|
|
}
|
|
print ":".$dato['fw_port']." (".$dato['proto'].")";;
|
|
?></td>
|
|
<td class="textc"><?php if ($dato['permanente']) print "Si"; else print "No"; ?></td>
|
|
</tr>
|
|
<?php
|
|
$tabella->riga (5);
|
|
} ?>
|
|
</form>
|
|
|
|
<?php $tabella->riga (30) ?>
|
|
<form name="" method="post">
|
|
<input type="hidden" name="utente" value="<?php print $UTENTE['id'] ?>">
|
|
<input type="hidden" name="regola" value="intext">
|
|
<tr>
|
|
<td><input type="submit" value="Applica"></td>
|
|
<td colspan="1" class="spazioh"></td>
|
|
<td colspan="3" class="descrizione_c">Regole Interno -> Esterno</td>
|
|
<td colspan="1" class="spazioh"></td>
|
|
</tr>
|
|
<?php
|
|
$tabella->riga (10);
|
|
|
|
$query = " SELECT
|
|
firewall_versoesterno_regole.id,
|
|
firewall_versoesterno_regole.stato,
|
|
firewall_versoesterno.nome,
|
|
firewall_versoesterno.int_port,
|
|
firewall_versoesterno.ext_port,
|
|
firewall_versoesterno.proto,
|
|
firewall_versoesterno_regole.permanente,
|
|
proxy_pool.nome AS int_nome,
|
|
proxy_pool.ip AS int_ip,
|
|
firewall_macchine_ext.nome AS ext_nome,
|
|
firewall_macchine_ext.ip AS ext_ip
|
|
FROM
|
|
firewall_versoesterno_regole
|
|
JOIN
|
|
firewall_versoesterno
|
|
ON
|
|
firewall_versoesterno_regole.id_firewall_versoesterno = firewall_versoesterno.id
|
|
JOIN
|
|
firewall_macchine
|
|
ON
|
|
firewall_versoesterno.id_firewall_macchine = firewall_macchine.id
|
|
JOIN
|
|
proxy_pool
|
|
ON
|
|
firewall_macchine.id_proxy_pool = proxy_pool.id
|
|
JOIN
|
|
utenti
|
|
ON
|
|
firewall_versoesterno_regole.id_utenti = utenti.id
|
|
AND
|
|
utenti.id = ".$UTENTE['id']."
|
|
JOIN
|
|
firewall_macchine_ext
|
|
ON
|
|
firewall_versoesterno.id_firewall_macchine_ext = firewall_macchine_ext.id
|
|
WHERE
|
|
firewall_versoesterno_regole.attivo = 1
|
|
ORDER BY
|
|
firewall_versoesterno.nome
|
|
";
|
|
|
|
$res = mysql_query( $query, $DB_ID );
|
|
while ($dato = mysql_fetch_array ( $res )) {
|
|
?>
|
|
<tr>
|
|
<td rowspan=2 class="textl">
|
|
<input type="hidden" name="old-<?php print $dato['id'] ?>" value="<?php print $dato['stato'] ?>">
|
|
<select name="new-<?php print $dato['id'] ?>">
|
|
<option value="0" <?php if ($dato['stato'] == 0 ) print "selected" ?>>Disattivo</option>
|
|
<option value="1" <?php if ($dato['stato'] == 1 ) print "selected" ?>>Attivo</option>
|
|
<?php if ($dato['permanente']) { ?>
|
|
<option value="2" <?php if ($dato['stato'] == 2 ) print "selected" ?>>Permanente</option>
|
|
<?php } ?>
|
|
</select>
|
|
</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
<td class="descrizione">Regola</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
<td class="radio">Perm</td>
|
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="textl"><?php
|
|
print $dato['nome'].": ";
|
|
if ($dato['int_nome'] != "") {
|
|
print $dato['int_nome'];
|
|
} else {
|
|
print $dato['int_ip'];
|
|
}
|
|
print ":".$dato['int_port']." -> ";
|
|
if ($dato['ext_nome'] != "") {
|
|
print $dato['ext_nome'];
|
|
} else {
|
|
print $dato['ext_ip'];
|
|
}
|
|
print ":".$dato['ext_port']." (".$dato['proto'].")";;
|
|
|
|
|
|
?></td>
|
|
<td class="textc"><?php if ($dato['permanente']) print "Si"; else print "No"; ?></td>
|
|
</tr>
|
|
<?php
|
|
$tabella->riga (5);
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
</form>
|
|
<?php
|
|
$tabella->close ();
|
|
view_footer();
|
|
?>
|