Aggiunta gestione IP

This commit is contained in:
cmaffio
2016-04-27 12:25:52 +02:00
parent 5becd28889
commit 1bbecd135e
4 changed files with 150 additions and 48 deletions

View File

@@ -21,13 +21,13 @@ if (isset($_GET['ip'])) {
$azione = $_GET['azione'];
switch ($azione) {
case "limita":
$query = "INSERT INTO proxy_pool (ip, pool, attivo) VALUES ('$ip', 1, 1) ON DUPLICATE KEY UPDATE attivo = 1";
$query = "INSERT INTO proxy_pool (ip, pool, attivo, ins) VALUES ('$ip', 1, 1, NOW()) ON DUPLICATE KEY UPDATE attivo = 1";
mysql_query( $query, $DB_ID );
$testo = "Utente $ip inserito in pool di limitazione banda";
genera($DB_ID);
break;
case "libera":
$query = "INSERT INTO proxy_pool (ip, pool, attivo) VALUES ('$ip', 1, 0) ON DUPLICATE KEY UPDATE attivo = 0";
$query = "INSERT INTO proxy_pool (ip, pool, attivo, ins) VALUES ('$ip', 1, 0, NOW()) ON DUPLICATE KEY UPDATE attivo = 0";
mysql_query( $query, $DB_ID );
$testo = "Utente $ip rimosso dal pool di limitazione banda";
genera($DB_ID);
@@ -40,7 +40,7 @@ if (isset($_GET['ip'])) {
}
?>
<script type="text/javascript">
confirmation ('<?php print "$testo" ?>');
// confirmation ('<?php print "$testo" ?>');
document.location.href='<?php print $_SERVER['HTTP_REFERER']?>'
</script>

View File

@@ -3,37 +3,18 @@ include_once ("../core/config.php");
$UTENTE = login();
$DIRITTI = diritti(1);
view_top();
?>
<form name="" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="90%">
<?php
if (isset($_GET['ip'])) {
$ip = $_GET['ip'];
} else {
// ERRORE
}
if (isset($_POST['tempo'])) {
$tempo = $_POST['tempo'];
} else {
$tempo = "DAY";
}
?>
<form name="" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="90%">
<tr>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td colspan="2">
<select name="tempo" onchange="this.form.submit()">
<option value="HOUR" <?php if ($tempo == "HOUR") {print "selected=\"selected\""; } ?>>Ultima Ora</option>
<option value="DAY" <?php if ($tempo == "DAY") {print "selected=\"selected\""; } ?>>Ultimo Giorno</option>
<option value="WEEK" <?php if ($tempo == "WEEK") {print "selected=\"selected\""; } ?>>Ultima Settimana</option>
<option value="MONTH" <?php if ($tempo == "MONTH") {print "selected=\"selected\""; } ?>>Ultimo Mese</option>
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
</select>
</td>
<td colspan="6" 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>
<?php
$query = " SELECT
proxy_pool.attivo,
@@ -57,6 +38,20 @@ $query = " SELECT
$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 colspan="2">
<select name="tempo" onchange="this.form.submit()">
<option value="HOUR" <?php if ($tempo == "HOUR") {print "selected=\"selected\""; } ?>>Ultima Ora</option>
<option value="DAY" <?php if ($tempo == "DAY") {print "selected=\"selected\""; } ?>>Ultimo Giorno</option>
<option value="WEEK" <?php if ($tempo == "WEEK") {print "selected=\"selected\""; } ?>>Ultima Settimana</option>
<option value="MONTH" <?php if ($tempo == "MONTH") {print "selected=\"selected\""; } ?>>Ultimo Mese</option>
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
</select>
</td>
<td colspan="6" 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>
<?php
@@ -89,6 +84,77 @@ $dato = mysql_fetch_array ( $res );
<tr><td colspan=9 align="center"><img src="<?php print $CONF['base_url'] ?>/proxy/graph.php?ip=<?php print $dato['ip'] ?>&tempo=<?php print $tempo ?>"></td></tr>
<tr><td class="spaziov" colspan=9><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<?php
} else {
if (isset($_POST['ip'])) {
$ip = $_POST['ip'];
if (isset($_POST['attivo'])) {
$attivo = $_POST['attivo'];
} else {
$attivo = 0;
}
$query = " INSERT INTO
proxy_pool
SET
ip = '$ip',
pool = 1,
attivo = $attivo,
ins = NOW()
";
$res = mysql_query( $query, $DB_ID );
if (!$res) {
$error_code = mysql_errno();
if ($error_code == 1062) { ?>
<tr><td class="spaziov" colspan=11><center>Indirizzo IP gia' esistente</center></td></tr>
<?php }
} else { ?>
<script type="text/javascript">
window.location = "pool_lista.php"
</script>
<?php exit;
}
}
?>
<tr>
<td width="10%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="10%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="23%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="10%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="10%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="2%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="23%"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td width="10%"><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="colip">Indirizzo IP:</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colip"><input type="text" size="15" name="ip"></td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colip">Limitazione:</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colip"><input type="checkbox" name="attivo" value="1"></td>
<td 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>
<tr>
<td align="center" colspan="11">
<input type="submit" value="Aggiungi">
&nbsp;&nbsp;&nbsp;
<input type="button" value="Annulla" onclick="location.href = 'pool_lista.php';"></button>
</td>
</tr>
<?php
} ?>
</table>
</form>
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">

View File

@@ -9,13 +9,22 @@ if (isset($_POST['tempo'])) {
} else {
$tempo = "DAY";
}
if (isset($_POST['ordina'])) {
$ordina = $_POST['ordina'];
} else {
$ordina = "ip";
}
?>
<form name="" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="90%">
<tr>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td colspan="2">
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td rowspan=2 class="spazioh"><a href="pool_ip.php"><img src="<?php print $CONF['base_url'] ?>/img/addresource.png"></a></td>
<td rowspan=2 colspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td colspan=2 class="spazioh">Periodo:&nbsp;</td>
<td colspan=4 class="spazioh">
<select name="tempo" onchange="this.form.submit()">
<option value="HOUR" <?php if ($tempo == "HOUR") {print "selected=\"selected\""; } ?>>Ultima Ora</option>
<option value="DAY" <?php if ($tempo == "DAY") {print "selected=\"selected\""; } ?>>Ultimo Giorno</option>
@@ -24,7 +33,18 @@ if (isset($_POST['tempo'])) {
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
</select>
</td>
<td colspan="9" class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td rowspan=2 colspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</tr>
<tr>
<td colspan=2 class="spazioh">Ordinamento:&nbsp;</td>
<td colspan=4 class="spazioh">
<select name="ordina" onchange="this.form.submit()">
<option value="ip" <?php if ($ordina == "ip") {print "selected=\"selected\""; } ?>>IP</option>
<option value="inviati DESC" <?php if ($ordina == "inviati DESC") {print "selected=\"selected\""; } ?>>Dati Inviati</option>
<option value="ricevuti DESC" <?php if ($ordina == "ricevuti DESC") {print "selected=\"selected\""; } ?>>Dati Ricevuti</option>
</select>
</td>
</tr>
<tr><td class="spaziov" colspan=12><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
@@ -55,14 +75,24 @@ $query = " SELECT
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)
GROUP BY
ip
UNION DISTINCT SELECT
proxy_pool.attivo,
proxy_pool.ip,
DATE_SUB(NOW(), INTERVAL 1 $tempo) AS first,
NOW() AS last,
0,
0
FROM
proxy_pool
WHERE
proxy_pool.ip NOT IN (SELECT ip FROM proxy_dati WHERE data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo))
ORDER BY
ip
$ordina
";
$res = mysql_query( $query, $DB_ID );
while ($dato = mysql_fetch_array ( $res )) {
?>
<tr>
<?php
if ($dato['attivo']) {

View File

@@ -102,11 +102,13 @@ sub conntrack {
my $proxy_IP = shift;
my $proxy_PORT = shift;
$SIG{INT} = \&end;
my $conta = 0;
print "Attivato agente $sess_id su $proxy_IP:$proxy_PORT\n" if ($verbose);
open CT, "/usr/sbin/conntrack -E -eNEW,DESTROY -otimestamp,id -p tcp -d $proxy_IP --dport $proxy_PORT |" or die "non va\n";
my $proc_id = open CT, "/usr/sbin/conntrack -E -eNEW,DESTROY -otimestamp,id -p tcp -d $proxy_IP --dport $proxy_PORT 2>/dev/null |" or die "non va\n";
while (<CT>) {
my $riga = $_;
@@ -173,9 +175,13 @@ sub conntrack {
$sem2->up();
print "Invio query UPDATE\n" if ($verbose > 1);
}
return if ($conta >= $limit_thread);
if ($conta >= $limit_thread) {
last;
# kill 9, $proc_id;
# return
}
close CT;
}
kill 9, $proc_id;
return;
}