Files
pannello/proxy/proxy_gest.php
2016-05-11 15:18:31 +02:00

137 lines
3.3 KiB
PHP
Executable File

<?php
include_once ("../core/config.php");
$UTENTE = login();
$DIRITTI = diritti(1);
?>
<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'];
switch ($azione) {
case "net_up":
$query = "UPDATE proxy_net SET attivo = 1 WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "net_down":
$query = "UPDATE proxy_net SET attivo = 0 WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "net_rm":
$query = "DELETE FROM proxy_net WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "acl_up":
$query = "UPDATE proxy_acl_list SET attivo = 1, data = NOW() WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "acl_down":
$query = "UPDATE proxy_acl_list SET attivo = 0, data = NOW() WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "link_up":
$query = "UPDATE proxy_acl SET attivo = 1, data = NOW() WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "link_down":
$query = "UPDATE proxy_acl SET attivo = 0, data = NOW() WHERE id = $id";
mysql_query( $query, $DB_ID );
break;
case "link_rm":
$query = "DELETE FROM proxy_acl WHERE id = $id";
mysql_query( $query, $DB_ID );
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);
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);
break;
case "user_up":
$query = "UPDATE proxy_utenti SET attivo = 1 WHERE id = $id";
mysql_query( $query, $DB_ID );
$testo = "Utente Abilitato";
break;
case "user_down":
$query = "UPDATE proxy_utenti SET attivo = 0 WHERE id = $id";
mysql_query( $query, $DB_ID );
$testo = "Utente Disabilitato";
break;
case "user_rm":
$query = "DELETE FROM proxy_utenti WHERE id = $id";
mysql_query( $query, $DB_ID );
$testo = "Utente Eliminato";
break;
default:
$testo = "Regola non implementata";
break;
}
}
}
?>
<script type="text/javascript">
document.location.href='<?php print $_SERVER['HTTP_REFERER']?>'
</script>
<?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']);
}
}
?>