Sviluppo forward in firewall
This commit is contained in:
145
firewall/firewall_gest.php
Executable file
145
firewall/firewall_gest.php
Executable file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
include_once ("../core/config.php");
|
||||
$UTENTE = login();
|
||||
$DIRITTI = diritti('Admin');
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function confirmation(testo) {
|
||||
alert(testo)
|
||||
document.location.href='main.php'
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<?php
|
||||
if (isset($_GET['id'])) {
|
||||
$id = $_GET['id'];
|
||||
if (isset($_GET['azione'])) {
|
||||
$azione = $_GET['azione'];
|
||||
$genera = 0;
|
||||
switch ($azione) {
|
||||
case "macchina_rm":
|
||||
$query = "DELETE FROM firewall_macchine WHERE id = $id";
|
||||
$testo = "Confermate la rimozione della macchina da quelle disponibili?";
|
||||
break;
|
||||
case "macchina_up":
|
||||
$query = "UPDATE firewall_macchine SET attivo = 1 WHERE id = $id";
|
||||
$testo = "Confermate l'attivazione della macchina?";
|
||||
break;
|
||||
case "macchina_down":
|
||||
$query = "UPDATE firewall_macchine SET attivo = 0 WHERE id = $id";
|
||||
$testo = "Confermate la disattivazione della macchina?";
|
||||
break;
|
||||
|
||||
case "macchina_ext_rm":
|
||||
$query = "DELETE FROM firewall_macchine_ext WHERE id = $id";
|
||||
$testo = "Confermate la rimozione della macchina da quelle disponibili?";
|
||||
break;
|
||||
case "macchina_ext_up":
|
||||
$query = "UPDATE firewall_macchine_ext SET attivo = 1 WHERE id = $id";
|
||||
$testo = "Confermate l'attivazione della macchina?";
|
||||
break;
|
||||
case "macchina_ext_down":
|
||||
$query = "UPDATE firewall_macchine_ext SET attivo = 0 WHERE id = $id";
|
||||
$testo = "Confermate la disattivazione della macchina?";
|
||||
break;
|
||||
|
||||
case "regolaext_rm":
|
||||
$query = "DELETE FROM firewall_versoesterno WHERE id = $id";
|
||||
$testo = "Confermate la rimozione della regola da quelle disponibili?";
|
||||
break;
|
||||
case "regolaext_up":
|
||||
$query = "UPDATE firewall_versoesterno SET attivo = 1 WHERE id = $id";
|
||||
$testo = "Confermate l'attivazione della regola?";
|
||||
break;
|
||||
case "regolaext_down":
|
||||
$query = "UPDATE firewall_versoesterno SET attivo = 0 WHERE id = $id";
|
||||
$testo = "Confermate la disattivazione della regola?";
|
||||
break;
|
||||
|
||||
case "regolaversoext_rm":
|
||||
$query = "DELETE FROM firewall_versoesterno_regole WHERE id = $id";
|
||||
$testo = "Confermate la rimozione della regola da quelle disponibili?";
|
||||
break;
|
||||
case "regolaversoext_up":
|
||||
$query = "UPDATE firewall_versoesterno_regole SET attivo = 1 WHERE id = $id";
|
||||
$testo = "Confermate l'attivazione della regola?";
|
||||
break;
|
||||
case "regolaversoext_down":
|
||||
$query = "UPDATE firewall_versoesterno_regole SET attivo = 0 WHERE id = $id";
|
||||
$testo = "Confermate la disattivazione della regola?";
|
||||
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);
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
document.location.href="<?php print $ref ?>"
|
||||
</script>
|
||||
<?php } else {
|
||||
$ref = unpack ('H*', $_SERVER["HTTP_REFERER"]);
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
var r = confirm("<?php print $testo ?>");
|
||||
if (r == true) {
|
||||
document.location.href="<?php print $_SERVER['REQUEST_URI']?>&ref=<?php print $ref[1] ?>"
|
||||
} else {
|
||||
document.location.href="<?php print $_SERVER['HTTP_REFERER']?>"
|
||||
}
|
||||
</script>
|
||||
<?php }
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
function genera ($DB_ID) {
|
||||
$file = 'squid_acl/listip';
|
||||
$fp = fopen($file, 'w');
|
||||
|
||||
$query = "SELECT ip FROM proxy_pool WHERE attivo = 1 AND pool = 1";
|
||||
$res = mysql_query( $query, $DB_ID );
|
||||
while ($dato = mysql_fetch_array ( $res )) {
|
||||
fwrite($fp, $dato['ip']."\n");
|
||||
}
|
||||
fclose($fp);
|
||||
exec ("sudo /opt/squid/sbin/squid -k reconfigure");
|
||||
remote ($DB_ID);
|
||||
}
|
||||
|
||||
function remote ($DB_ID) {
|
||||
$query = " SELECT
|
||||
host,
|
||||
port,
|
||||
usr,
|
||||
pwd,
|
||||
path,
|
||||
command
|
||||
FROM
|
||||
proxy_remote
|
||||
WHERE
|
||||
attivo = 1
|
||||
";
|
||||
|
||||
$res = mysql_query( $query, $DB_ID );
|
||||
while ($dato = mysql_fetch_array ( $res )) {
|
||||
$connection = ssh2_connect($dato['host'], $dato['port']);
|
||||
ssh2_auth_password($connection, $dato['usr'], $dato['pwd']);
|
||||
|
||||
ssh2_scp_send($connection, 'squid_acl/listip', $dato['path'].'/listip', 0644);
|
||||
$stream = ssh2_exec($connection, $dato['command']);
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user