Aggiunta gestione IP
This commit is contained in:
@@ -21,13 +21,13 @@ if (isset($_GET['ip'])) {
|
|||||||
$azione = $_GET['azione'];
|
$azione = $_GET['azione'];
|
||||||
switch ($azione) {
|
switch ($azione) {
|
||||||
case "limita":
|
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 );
|
mysql_query( $query, $DB_ID );
|
||||||
$testo = "Utente $ip inserito in pool di limitazione banda";
|
$testo = "Utente $ip inserito in pool di limitazione banda";
|
||||||
genera($DB_ID);
|
genera($DB_ID);
|
||||||
break;
|
break;
|
||||||
case "libera":
|
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 );
|
mysql_query( $query, $DB_ID );
|
||||||
$testo = "Utente $ip rimosso dal pool di limitazione banda";
|
$testo = "Utente $ip rimosso dal pool di limitazione banda";
|
||||||
genera($DB_ID);
|
genera($DB_ID);
|
||||||
@@ -40,7 +40,7 @@ if (isset($_GET['ip'])) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
confirmation ('<?php print "$testo" ?>');
|
// confirmation ('<?php print "$testo" ?>');
|
||||||
document.location.href='<?php print $_SERVER['HTTP_REFERER']?>'
|
document.location.href='<?php print $_SERVER['HTTP_REFERER']?>'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -3,37 +3,18 @@ include_once ("../core/config.php");
|
|||||||
$UTENTE = login();
|
$UTENTE = login();
|
||||||
$DIRITTI = diritti(1);
|
$DIRITTI = diritti(1);
|
||||||
view_top();
|
view_top();
|
||||||
|
?>
|
||||||
|
<form name="" method="post">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
||||||
|
|
||||||
|
<?php
|
||||||
if (isset($_GET['ip'])) {
|
if (isset($_GET['ip'])) {
|
||||||
$ip = $_GET['ip'];
|
$ip = $_GET['ip'];
|
||||||
} else {
|
|
||||||
// ERRORE
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_POST['tempo'])) {
|
if (isset($_POST['tempo'])) {
|
||||||
$tempo = $_POST['tempo'];
|
$tempo = $_POST['tempo'];
|
||||||
} else {
|
} else {
|
||||||
$tempo = "DAY";
|
$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
|
$query = " SELECT
|
||||||
proxy_pool.attivo,
|
proxy_pool.attivo,
|
||||||
@@ -57,6 +38,20 @@ $query = " SELECT
|
|||||||
$res = mysql_query( $query, $DB_ID );
|
$res = mysql_query( $query, $DB_ID );
|
||||||
$dato = mysql_fetch_array ( $res );
|
$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>
|
<tr>
|
||||||
<?php
|
<?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 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>
|
<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">
|
||||||
|
|
||||||
|
<input type="button" value="Annulla" onclick="location.href = 'pool_lista.php';"></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
} ?>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
|
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
|
||||||
|
|||||||
@@ -9,13 +9,22 @@ if (isset($_POST['tempo'])) {
|
|||||||
} else {
|
} else {
|
||||||
$tempo = "DAY";
|
$tempo = "DAY";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['ordina'])) {
|
||||||
|
$ordina = $_POST['ordina'];
|
||||||
|
} else {
|
||||||
|
$ordina = "ip";
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form name="" method="post">
|
<form name="" method="post">
|
||||||
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
<table cellpadding="0" cellspacing="0" border="0" width="90%">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
|
||||||
<td colspan="2">
|
<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: </td>
|
||||||
|
<td colspan=4 class="spazioh">
|
||||||
<select name="tempo" onchange="this.form.submit()">
|
<select name="tempo" onchange="this.form.submit()">
|
||||||
<option value="HOUR" <?php if ($tempo == "HOUR") {print "selected=\"selected\""; } ?>>Ultima Ora</option>
|
<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="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>
|
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</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: </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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td class="spaziov" colspan=12><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></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)
|
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)
|
||||||
GROUP BY
|
GROUP BY
|
||||||
ip
|
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
|
ORDER BY
|
||||||
ip
|
$ordina
|
||||||
";
|
";
|
||||||
|
|
||||||
$res = mysql_query( $query, $DB_ID );
|
$res = mysql_query( $query, $DB_ID );
|
||||||
while ($dato = mysql_fetch_array ( $res )) {
|
while ($dato = mysql_fetch_array ( $res )) {
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<?php
|
<?php
|
||||||
if ($dato['attivo']) {
|
if ($dato['attivo']) {
|
||||||
|
|||||||
@@ -102,11 +102,13 @@ sub conntrack {
|
|||||||
my $proxy_IP = shift;
|
my $proxy_IP = shift;
|
||||||
my $proxy_PORT = shift;
|
my $proxy_PORT = shift;
|
||||||
|
|
||||||
|
$SIG{INT} = \&end;
|
||||||
|
|
||||||
my $conta = 0;
|
my $conta = 0;
|
||||||
|
|
||||||
print "Attivato agente $sess_id su $proxy_IP:$proxy_PORT\n" if ($verbose);
|
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>) {
|
while (<CT>) {
|
||||||
my $riga = $_;
|
my $riga = $_;
|
||||||
@@ -173,9 +175,13 @@ sub conntrack {
|
|||||||
$sem2->up();
|
$sem2->up();
|
||||||
print "Invio query UPDATE\n" if ($verbose > 1);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user