gestione reti
This commit is contained in:
125
proxy/net_acl.php
Executable file
125
proxy/net_acl.php
Executable file
@@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
include_once ("../core/config.php");
|
||||||
|
$UTENTE = login();
|
||||||
|
$DIRITTI = diritti(1);
|
||||||
|
view_top();
|
||||||
|
|
||||||
|
if (isset($_POST['id'])) {
|
||||||
|
$id = $_POST['id'];
|
||||||
|
|
||||||
|
foreach ($_POST as $key => $value) {
|
||||||
|
if ($key == 'id') continue;
|
||||||
|
|
||||||
|
$query = " INSERT INTO
|
||||||
|
proxy_acl_net
|
||||||
|
SET
|
||||||
|
idacllist = $key,
|
||||||
|
idaclnet = $id,
|
||||||
|
stato = $value,
|
||||||
|
data = NOW()
|
||||||
|
ON DUPLICATE KEY UPDATE
|
||||||
|
stato = $value,
|
||||||
|
data = NOW()
|
||||||
|
";
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
}
|
||||||
|
} elseif (isset($_GET['id'])) {
|
||||||
|
$id = $_GET['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = " SELECT
|
||||||
|
net,
|
||||||
|
mask
|
||||||
|
FROM
|
||||||
|
proxy_net
|
||||||
|
WHERE
|
||||||
|
id = $id
|
||||||
|
";
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
$dato = mysql_fetch_array ( $res );
|
||||||
|
$net = $dato['net']." / ".$dato['mask'];
|
||||||
|
|
||||||
|
$query = " SELECT
|
||||||
|
proxy_acl_list.id,
|
||||||
|
proxy_acl_list.nome,
|
||||||
|
proxy_acl_list.sys,
|
||||||
|
proxy_acl_net.stato
|
||||||
|
FROM
|
||||||
|
proxy_acl_list
|
||||||
|
JOIN
|
||||||
|
proxy_acl_net
|
||||||
|
ON
|
||||||
|
proxy_acl_net.idacllist = proxy_acl_list.id
|
||||||
|
AND
|
||||||
|
proxy_acl_net.idaclnet = $id
|
||||||
|
AND
|
||||||
|
proxy_acl_list.attivo = 1
|
||||||
|
UNION DISTINCT SELECT
|
||||||
|
proxy_acl_list.id,
|
||||||
|
proxy_acl_list.nome,
|
||||||
|
proxy_acl_list.sys,
|
||||||
|
proxy_acl_list.dflt
|
||||||
|
FROM
|
||||||
|
proxy_acl_list
|
||||||
|
WHERE
|
||||||
|
proxy_acl_list.id NOT IN (SELECT idacllist FROM proxy_acl_net WHERE idaclnet = $id)
|
||||||
|
AND
|
||||||
|
proxy_acl_list.attivo = 1
|
||||||
|
ORDER BY
|
||||||
|
sys DESC,
|
||||||
|
nome
|
||||||
|
";
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function do_submit() {
|
||||||
|
document.forms['acl'].submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<form name="acl" method="post">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
||||||
|
<input type="hidden" name="id" value="<?php print $id ?>">
|
||||||
|
<tr>
|
||||||
|
<td class="sep" width="5%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="20%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="5%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="6%" ><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="6%" ><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="6%" ><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="5%" ><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="20%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="27%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="spaziol"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="descrizione">Rete</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="radio">Nega</td>
|
||||||
|
<td class="radio">Default</td>
|
||||||
|
<td class="radio">Autorizza</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="descrizione">Nome Lista</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
$conta = 0;
|
||||||
|
while ($dato = mysql_fetch_array ( $res )) {
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td class="spaziol"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="descrizione"><?php if (!$conta++) { print $net; } ?></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="radio"><input type="radio" name="<?php print $dato['id']?>" value=-1 <?php if ($dato['stato'] == -1) { print "checked=\"checked\""; } ?> onChange="do_submit()"/></td>
|
||||||
|
<td class="radio"><input type="radio" name="<?php print $dato['id']?>" value=0 <?php if ($dato['stato'] == 0) { print "checked=\"checked\""; } ?> onChange="do_submit()"/></td>
|
||||||
|
<td class="radio"><input type="radio" name="<?php print $dato['id']?>" value=1 <?php if ($dato['stato'] == 1) { print "checked=\"checked\""; } ?> onChange="do_submit()"/></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="descrizione"><?php print $dato['nome'] ?></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
} ?>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
|
||||||
|
<?php view_footer(); ?>
|
||||||
115
proxy/net_edit.php
Executable file
115
proxy/net_edit.php
Executable file
@@ -0,0 +1,115 @@
|
|||||||
|
<?php
|
||||||
|
include_once ("../core/config.php");
|
||||||
|
$UTENTE = login();
|
||||||
|
$DIRITTI = diritti(1);
|
||||||
|
view_top();
|
||||||
|
|
||||||
|
if (isset($_POST['id'])) {
|
||||||
|
$id = $_POST['id'];
|
||||||
|
$net = $_POST['net'];
|
||||||
|
$mask = $_POST['mask'];
|
||||||
|
|
||||||
|
if ($id) {
|
||||||
|
$query = " UPDATE
|
||||||
|
proxy_net
|
||||||
|
SET
|
||||||
|
net = '$net',
|
||||||
|
mask = '$mask',
|
||||||
|
modifica = NOW()
|
||||||
|
WHERE
|
||||||
|
id = $id
|
||||||
|
";
|
||||||
|
} else {
|
||||||
|
$query = " INSERT INTO
|
||||||
|
proxy_net
|
||||||
|
SET
|
||||||
|
net = '$net',
|
||||||
|
mask = '$mask',
|
||||||
|
modifica = NOW()
|
||||||
|
data = NOW(),
|
||||||
|
attivo = 1
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
} elseif (isset($_GET['id'])) {
|
||||||
|
$id = $_GET['id'];
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<form name="" method="post">
|
||||||
|
<input type="hidden" name="id" value="<?php print $id ?>">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
||||||
|
<?php
|
||||||
|
$query = " SELECT
|
||||||
|
id,
|
||||||
|
net,
|
||||||
|
mask,
|
||||||
|
attivo,
|
||||||
|
DATE_FORMAT(data, '%d.%m.%Y %H:%i:%s') AS data,
|
||||||
|
DATE_FORMAT(modifica, '%d.%m.%Y %H:%i:%s') AS modifica
|
||||||
|
FROM
|
||||||
|
proxy_net
|
||||||
|
WHERE
|
||||||
|
id = $id
|
||||||
|
";
|
||||||
|
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
$dato = mysql_fetch_array ( $res );
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip">Rete</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip">NetMask</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip">Data attivazione</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip">Ultima Modifica</td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<?php
|
||||||
|
if ($dato['attivo']) {
|
||||||
|
?>
|
||||||
|
<td class="col3btn"><a href="proxy_gest.php?azione=net_down&id=<?php print $dato['id']?>"><img src="<?php print $CONF['base_url'] ?>/img/attivo.gif" ALT="Net Attiva" TITLE="Net Attiva"></a></td>
|
||||||
|
<?php } else { ?>
|
||||||
|
<td class="col3btn"><a href="proxy_gest.php?azione=net_up&id=<?php print $dato['id']?>"><img src="<?php print $CONF['base_url'] ?>/img/non_attivo.gif" ALT="Net non Attiva" TITLE="Net non Attiva"></a></td>
|
||||||
|
<?php } ?>
|
||||||
|
<td class="colip"><input type="text" size="15" name=net value="<?php print $dato['net'] ?>"></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
|
||||||
|
<td class="colip">
|
||||||
|
<select name="mask">
|
||||||
|
<option value="255.255.255.255" <?php if ($dato['mask'] == "255.255.255.255") { print "selected=\"selected\"";}?>>/32 (255.255.255.255)</option>
|
||||||
|
<option value="255.255.255.252" <?php if ($dato['mask'] == "255.255.255.252") { print "selected=\"selected\"";}?>>/30 (255.255.255.252)</option>
|
||||||
|
<option value="255.255.255.248" <?php if ($dato['mask'] == "255.255.255.248") { print "selected=\"selected\"";}?>>/29 (255.255.255.248)</option>
|
||||||
|
<option value="255.255.255.240" <?php if ($dato['mask'] == "255.255.255.240") { print "selected=\"selected\"";}?>>/28 (255.255.255.240)</option>
|
||||||
|
<option value="255.255.255.224" <?php if ($dato['mask'] == "255.255.255.224") { print "selected=\"selected\"";}?>>/27 (255.255.255.224)</option>
|
||||||
|
<option value="255.255.255.192" <?php if ($dato['mask'] == "255.255.255.192") { print "selected=\"selected\"";}?>>/26 (255.255.255.192)</option>
|
||||||
|
<option value="255.255.255.128" <?php if ($dato['mask'] == "255.255.255.128") { print "selected=\"selected\"";}?>>/25 (255.255.255.128)</option>
|
||||||
|
<option value="255.255.255.0" <?php if ($dato['mask'] == "255.255.255.0") { print "selected=\"selected\"";}?>>/24 (255.255.255.0)</option>
|
||||||
|
<option value="255.255.254.0" <?php if ($dato['mask'] == "255.255.254.0") { print "selected=\"selected\"";}?>>/23 (255.255.254.0)</option>
|
||||||
|
<option value="255.255.252.0" <?php if ($dato['mask'] == "255.255.252.0") { print "selected=\"selected\"";}?>>/22 (255.255.252.0)</option>
|
||||||
|
<option value="255.255.248.0" <?php if ($dato['mask'] == "255.255.248.0") { print "selected=\"selected\"";}?>>/21 (255.255.248.0)</option>
|
||||||
|
<option value="255.255.240.0" <?php if ($dato['mask'] == "255.255.240.0") { print "selected=\"selected\"";}?>>/20 (255.255.240.0)</option>
|
||||||
|
<option value="255.255.224.0" <?php if ($dato['mask'] == "255.255.224.0") { print "selected=\"selected\"";}?>>/19 (255.255.224.0)</option>
|
||||||
|
<option value="255.255.192.0" <?php if ($dato['mask'] == "255.255.192.0") { print "selected=\"selected\"";}?>>/18 (255.255.192.0)</option>
|
||||||
|
<option value="255.255.128.0" <?php if ($dato['mask'] == "255.255.128.0") { print "selected=\"selected\"";}?>>/17 (255.255.128.0)</option>
|
||||||
|
<option value="255.255.0.0" <?php if ($dato['mask'] == "255.255.0.0") { print "selected=\"selected\"";}?>>/16 (255.255.0.0)</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip"><?php print $dato['data'] ?></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip"><?php print $dato['modifica'] ?></td>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<tr><td class="spaziov" colspan=9><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
|
||||||
|
<tr><td class="spaziov" colspan=9><input type="submit" value="Conferma"></td></tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
|
||||||
|
<?php view_footer(); ?>
|
||||||
76
proxy/net_lista.php
Executable file
76
proxy/net_lista.php
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
include_once ("../core/config.php");
|
||||||
|
$UTENTE = login();
|
||||||
|
$DIRITTI = diritti(10);
|
||||||
|
view_top();
|
||||||
|
?>
|
||||||
|
<form name="" method="post">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
||||||
|
<tr>
|
||||||
|
<td class="sep" width="5%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="5%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="5%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="9%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="9%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="15%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="sep" width="44%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="spazioh"><a href="net_edit.php"><img src="<?php print $CONF['base_url'] ?>/img/addresource.png"></a></td>
|
||||||
|
<td colspan=9 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<tr><td class="spaziov" colspan=11><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
|
||||||
|
<?php
|
||||||
|
$query = " SELECT
|
||||||
|
id,
|
||||||
|
attivo,
|
||||||
|
net,
|
||||||
|
mask,
|
||||||
|
data,
|
||||||
|
modifica
|
||||||
|
FROM
|
||||||
|
proxy_net
|
||||||
|
ORDER BY
|
||||||
|
net,
|
||||||
|
mask
|
||||||
|
";
|
||||||
|
|
||||||
|
$res = mysql_query( $query, $DB_ID );
|
||||||
|
while ($dato = mysql_fetch_array ( $res )) {
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<?php
|
||||||
|
if ($dato['attivo']) {
|
||||||
|
?>
|
||||||
|
<td rowspan=2 class="col3btn"><a href="proxy_gest.php?azione=net_down&id=<?php print $dato['id']?>"><img src="<?php print $CONF['base_url'] ?>/img/attivo.gif" ALT="Net Abilitata" TITLE="Net Abilitata"></a></td>
|
||||||
|
<?php } else { ?>
|
||||||
|
<td rowspan=2 class="col3btn"><a href="proxy_gest.php?azione=net_up&id=<?php print $dato['id']?>"><img src="<?php print $CONF['base_url'] ?>/img/non_attivo.gif" ALT="Net Disabilitata" TITLE="Net Disabilitata"></a></td>
|
||||||
|
<?php } ?>
|
||||||
|
<td rowspan=2 class="col3btn"><a href="net_edit.php?id=<?php print $dato['id'] ?>"><img src="<?php print $CONF['base_url'] ?>/img/modify.gif" ALT="Dettaglio" TITLE="Dettaglio"></a></td>
|
||||||
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td rowspan=2 class="spazioh"><a href="net_acl.php?id=<?php print $dato['id'] ?>"><img src="<?php print $CONF['base_url'] ?>/img/edit-regole.gif" ALT="ACL" TITLE="ACL"></a></td>
|
||||||
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td rowspan=2 class="colip"><?php print $dato['net'] ?></td>
|
||||||
|
<td rowspan=2 class="colip"> / </td>
|
||||||
|
<td rowspan=2 class="colip"><?php print $dato['mask'] ?></td>
|
||||||
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
<td class="colip"><?php print $dato['data'] ?></td>
|
||||||
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<td class="colip"><?php print $dato['modifica'] ?></td>
|
||||||
|
<tr>
|
||||||
|
</tr>
|
||||||
|
<tr><td class="spaziov" colspan=11><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
} ?>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
|
||||||
|
<?php view_footer(); ?>
|
||||||
44
proxy/proxy_gest.php
Executable file
44
proxy/proxy_gest.php
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
<?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;
|
||||||
|
default:
|
||||||
|
$testo = "Regola non implementata";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.location.href='<?php print $_SERVER['HTTP_REFERER']?>'
|
||||||
|
</script>
|
||||||
@@ -24,8 +24,8 @@ $sts->execute ();
|
|||||||
open LOG, ">> /srv/www/htdocs/pannello_vbc/proxy/squid_acl/squid_pool.log";
|
open LOG, ">> /srv/www/htdocs/pannello_vbc/proxy/squid_acl/squid_pool.log";
|
||||||
LOG->autoflush(1);
|
LOG->autoflush(1);
|
||||||
|
|
||||||
alarm $timeout;
|
|
||||||
while($limit) {
|
while($limit) {
|
||||||
|
alarm $timeout;
|
||||||
my $query = "";
|
my $query = "";
|
||||||
my $input = <>;
|
my $input = <>;
|
||||||
chop $input;
|
chop $input;
|
||||||
|
|||||||
119
proxy/squid_acl/squid_acl_net.pl
Executable file
119
proxy/squid_acl/squid_acl_net.pl
Executable file
@@ -0,0 +1,119 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
$|=1;
|
||||||
|
|
||||||
|
use DBI;
|
||||||
|
use Switch;
|
||||||
|
use FindBin qw($Bin);
|
||||||
|
|
||||||
|
require "$Bin/../script/conntrack.conf";
|
||||||
|
|
||||||
|
local $SIG{ALRM} = sub {
|
||||||
|
my $time = localtime; # scalar context
|
||||||
|
print LOG "$$ - $time - Exit\n";
|
||||||
|
exit 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
srand($$);
|
||||||
|
$timeout = 60 * (int(rand(5))+61);
|
||||||
|
$limit = 50;
|
||||||
|
|
||||||
|
my $dbmysql = DBI->connect("DBI:mysql:;host=$DBhost", $DBuser, $DBpass) or die ($DBI::errstr);
|
||||||
|
$sts = $dbmysql->prepare("use $DBname");
|
||||||
|
$sts->execute ();
|
||||||
|
|
||||||
|
open LOG, ">> /srv/www/htdocs/pannello_vbc/proxy/squid_acl/squid_pool.log";
|
||||||
|
LOG->autoflush(1);
|
||||||
|
|
||||||
|
while($limit) {
|
||||||
|
alarm $timeout;
|
||||||
|
my $query = "";
|
||||||
|
my $input = <>;
|
||||||
|
chop $input;
|
||||||
|
|
||||||
|
my @param = split / /, $input;
|
||||||
|
|
||||||
|
my $ritorno = cerca ($param[1],$param[2], -1);
|
||||||
|
$limit--;
|
||||||
|
if ($ritorno) {
|
||||||
|
print LOG "$param[0] - $param[1] - $param[2] - ERR\n";
|
||||||
|
print "DENY\n";
|
||||||
|
} else {
|
||||||
|
$ritorno = cerca ($param[1],$param[2], 1);
|
||||||
|
if ($ritorno) {
|
||||||
|
print LOG "$param[0] - $param[1] - $param[2] - OK\n";
|
||||||
|
print "OK\n";
|
||||||
|
} else {
|
||||||
|
print LOG "$param[0] - $param[1] - $param[2] - ERR\n";
|
||||||
|
print "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
|
||||||
|
sub cerca {
|
||||||
|
my $ip = shift;
|
||||||
|
my $url = shift;
|
||||||
|
my $stato = shift;
|
||||||
|
|
||||||
|
if ($stato == 1) {
|
||||||
|
$tutto = "";
|
||||||
|
} else {
|
||||||
|
$tutto = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = " SELECT
|
||||||
|
1
|
||||||
|
FROM
|
||||||
|
proxy_net
|
||||||
|
JOIN
|
||||||
|
proxy_acl_net
|
||||||
|
ON
|
||||||
|
proxy_net.id = proxy_acl_net.idaclnet
|
||||||
|
AND
|
||||||
|
proxy_acl_net.stato = $stato
|
||||||
|
JOIN
|
||||||
|
proxy_acl_list
|
||||||
|
ON
|
||||||
|
proxy_acl_net.idacllist = proxy_acl_list.id
|
||||||
|
AND
|
||||||
|
proxy_acl_list.attivo = 1
|
||||||
|
JOIN
|
||||||
|
proxy_acl
|
||||||
|
ON
|
||||||
|
proxy_acl.idacllist = proxy_acl_list.id
|
||||||
|
AND
|
||||||
|
proxy_acl.attivo = 1
|
||||||
|
AND
|
||||||
|
LOCATE(proxy_acl.rif, '$url') > 0
|
||||||
|
WHERE
|
||||||
|
(INET_ATON('$ip') & INET_ATON(proxy_net.mask)) = INET_ATON(proxy_net.net)
|
||||||
|
UNION DISTINCT SELECT
|
||||||
|
1
|
||||||
|
FROM
|
||||||
|
proxy_net
|
||||||
|
JOIN
|
||||||
|
proxy_acl_net
|
||||||
|
ON
|
||||||
|
proxy_net.id = proxy_acl_net.idaclnet
|
||||||
|
AND
|
||||||
|
proxy_acl_net.stato = $stato
|
||||||
|
JOIN
|
||||||
|
proxy_acl_list
|
||||||
|
ON
|
||||||
|
proxy_acl_net.idacllist = proxy_acl_list.id
|
||||||
|
AND
|
||||||
|
proxy_acl_list.nome = 'ALL'
|
||||||
|
WHERE
|
||||||
|
(INET_ATON('$ip') & INET_ATON(proxy_net.mask)) = INET_ATON(proxy_net.net)
|
||||||
|
";
|
||||||
|
|
||||||
|
# print "$query\n";
|
||||||
|
$sts = $dbmysql->prepare($query);
|
||||||
|
$sts->execute ();
|
||||||
|
|
||||||
|
if ($ref = $sts->fetchrow_hashref ) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user