mirror of
https://github.com/Xkeeper0/jul.git
synced 2025-05-18 16:20:22 -07:00
131 lines
4.0 KiB
PHP
131 lines
4.0 KiB
PHP
<?php
|
|
|
|
$windowtitle = "Admin Cruft";
|
|
|
|
require 'lib/function.php';
|
|
require 'lib/layout.php';
|
|
|
|
if (!in_array($loguser['id'], array(175, 1)) && $loguser['powerlevel'] < 1) {
|
|
|
|
print "
|
|
$header<br>
|
|
$tblstart
|
|
<tr>$tccell1>
|
|
<br>No.
|
|
<br>
|
|
</td></tr>
|
|
$tblend
|
|
|
|
$footer
|
|
";
|
|
printtimedif($startingtime);
|
|
die();
|
|
}
|
|
|
|
|
|
$expower = in_array($loguserid, array(175, 1, 2100));
|
|
|
|
if ($expower && $_GET['banip'] && $_GET['valid'] == md5($_GET['banip'] . "aglkdgslhkadgshlkgds")) {
|
|
$sql->query("INSERT INTO `ipbans` SET `ip` = '". $_GET['banip'] ."', `reason`='Abusive/unwelcome activity', `date` = '". ctime() ."', `banner` = '$loguserid'") or print mysql_error();
|
|
xk_ircsend("1|". xk(8) . $loguser['name'] . xk(7) ." added IP ban for ". xk(8) . $_GET['banip'] . xk(7) .".");
|
|
return header("Location: ?");
|
|
}
|
|
|
|
print "$header<br>";
|
|
|
|
$clearbutton = ' ';
|
|
if ($expower) {
|
|
if ($_POST['clear'])
|
|
$query = $sql -> query("TRUNCATE `minilog`");
|
|
$clearbutton = "<br><form style='margin: 0px; padding: 0px;' action='?' method='post'>$inps='clear' value='Clear log'></form><br>";
|
|
}
|
|
|
|
$banflagnames[ 1] = "union<br>select";
|
|
$banflagnames[16384] = "acunetix";
|
|
$banflagnames[ 2048] = "get<br>+";
|
|
$banflagnames[ 4] = "get<br>--";
|
|
// $banflagnames[ 8] = "get<br>;"; // Disabled. Too many false positives.
|
|
$banflagnames[ 2] = "get<br>comment";
|
|
$banflagnames[ 16] = "get<br>exec";
|
|
$banflagnames[ 32] = "get<br>password";
|
|
$banflagnames[ 4096] = "get<br>script";
|
|
$banflagnames[ 8192] = "get<br>cookie";
|
|
$banflagnames[ 64] = "cookie<br>comment";
|
|
$banflagnames[ 128] = "cookie<br>exec";
|
|
$banflagnames[ 256] = "cookieban<br>user";
|
|
$banflagnames[ 512] = "cookieban<br>nonuser";
|
|
$banflagnames[ 1024] = "non-int<br>userid";
|
|
|
|
$cells = count($banflagnames) + 4;
|
|
|
|
print "
|
|
$tblstart
|
|
<tr>$tccellh>Shitbug detection system</td></tr>
|
|
<tr>$tccell1>
|
|
<br>This page lists denied requests, showing what the reason was.
|
|
<br>$clearbutton
|
|
</td></tr>
|
|
$tblend
|
|
<br>
|
|
$tblstart
|
|
";
|
|
|
|
$colheaders = "<tr>$tccellh width='180'>Time</td>$tccellh width='50'>Count</td>$tccellh>IP</td>$tccellh width='50'> </td>";
|
|
|
|
foreach ($banflagnames as $flag => $name)
|
|
$colheaders .= "$tccellh width='60'>$name</td>";
|
|
|
|
$colheaders .= "</tr>";
|
|
print $colheaders;
|
|
|
|
$query = $sql -> query("SELECT *, (SELECT COUNT(`ip`) FROM `ipbans` WHERE `ip` = `minilog`.`ip`) AS `banned` FROM `minilog` ORDER BY `time` DESC");
|
|
|
|
$rowcnt = 0;
|
|
$lastflag = 0;
|
|
$combocount = 0;
|
|
$lastip = "";
|
|
|
|
while ($data = $sql -> fetch($query)) {
|
|
if (($lastip != $data['ip'] || $lastflag != $data['banflags']) && $lastflag != 0) {
|
|
$rowcnt++;
|
|
print str_replace("%%%COMBO%%%", ($combocount > 1 ? " ×$combocount" : ""), $tempout);
|
|
|
|
if (!($rowcnt % 50))
|
|
print $colheaders;
|
|
elseif ($lastip != $data['ip'])
|
|
print "<tr>$tccellh colspan='$cells'><img src='images/_.gif' height=5 width=5></td></tr>";
|
|
|
|
$tempout = "";
|
|
$combocount = 0;
|
|
}
|
|
|
|
$lastip = $data['ip'];
|
|
$lastflag = $data['banflags'];
|
|
$combocount++;
|
|
|
|
if ($combocount == 1) {
|
|
$tempout = "<tr>$tccell1>". date("m-d-y H:i:s", $data['time']) ."</td>$tccell1>%%%COMBO%%%</td>$tccell1><a href='ipsearch.php?ip=". $data['ip'] ."'>". $data['ip'] ."</a></td>";
|
|
|
|
if ($data['banned'])
|
|
$tempout .= "$tccell1s><span style='color: #f88; font-weight: bold;'>Banned</span></td>";
|
|
elseif ($expower)
|
|
$tempout .= "$tccell1s><a href=?banip={$data['ip']}&valid=". md5($data['ip'] . "aglkdgslhkadgshlkgds") .">Ban</a></td>";
|
|
else
|
|
$tempout .= "$tccell1s> </td>";
|
|
|
|
foreach ($banflagnames as $flag => $name) {
|
|
if ($data['banflags'] & $flag)
|
|
$tempout .= "$tccellc width='60'>Hit</td>";
|
|
else
|
|
$tempout .= "$tccell2 width='60'> </td>";
|
|
}
|
|
$tempout .= "</tr>";
|
|
}
|
|
}
|
|
|
|
print str_replace("%%%COMBO%%%", ($combocount > 1 ? " ×$combocount" : ""), $tempout);
|
|
|
|
print "$tblend $footer";
|
|
printtimedif($startingtime);
|
|
?>
|