Файл: panel/ban_ip.php
Строк: 116
<?php
/* DCMS Special
* Дата последнего редактирования 14.12.2015
* Модифицировал densnet
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
require_once "../sys/inc/{$inc}.php";
}
access('adm_ban_ip', null, 'index.php?' . SID);
$opsos = NULL;
$set['title'] = 'Бан по IP';
require_once H . 'sys/inc/thead.php';
aut();
err();
#Навигация
echo "<nav class='navbar navbar-light' style='background-color: #607D8B; color: #fff;'>";
echo "<ul class='nav navbar-nav'>";
echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/'><i class='material-icons'>home</i></a></li>";
echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/panel/'>Панель управления</a></li>";
echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/panel/ban_ip.php'>Бан по IP</a></li>";
echo "</ul>";
echo "</nav>";
if (isset($_POST['min']) && isset($_POST['max'])) {
if (!preg_match("#^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$#", $_POST['min'])) {
$err[] = 'Неверный формат IP-адреса';
}
if (!preg_match("#^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$#", $_POST['max'])) {
$err[] = 'Неверный формат IP-адреса';
}
$min = ip2long($_POST['min']);
$max = ip2long($_POST['max']);
if (ip2long($ip) >= $min && ip2long($ip) <= $max) {
$err[] = 'Ваш IP входит в заданный диапазон';
} elseif (!isset($err)) {
mysql_query("INSERT INTO `ban_ip` (`min`, `max`) values('$min', '$max')", $db);
msg('Диапазон успешно забанен');
}
}
if (isset($_GET['delmin']) && isset($_GET['delmax']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE `min` = '" . $_GET['delmin'] . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1", $db), 0) != 0) {
mysql_query("DELETE FROM `ban_ip` WHERE `min` = '" . mysql_real_escape_string($_GET['delmin']) . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1");
mysql_query("OPTIMIZE TABLE `ban_ip`");
msg('Диапазон успешно удален');
}
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip`"), 0);
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
$q = mysql_query("SELECT * FROM `ban_ip` LIMIT $start, $set[p_str]");
if ($k_post == 0) {
echo "<div class='list-group-item'>";
echo "<i class='material-icons'>feedback</i> Нет результатов";
echo "</div>";
}
while ($post = mysql_fetch_assoc($q)) {
echo "<div class='list-group-item'>";
echo "<div style='float:right;' id='hides'><a href='?page=$page&delmin=$post[min]&delmax=$post[max]' title='Удалить'><span class='fa fa-trash-o fa-fw'></span></a></div>";
echo long2ip($post['min']) . ' - ' . long2ip($post['max']);
echo "</div>";
}
if ($k_page > 1) {
echo "<div class='list-group-item'>";
str('?', $k_page, $page);
echo "</div>";
}
$min = NULL;
$max = NULL;
if (isset($_GET['min']) && preg_match("#^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$#", long2ip($_GET['min']))) {
echo "HOST: " . gethostbyaddr(long2ip(htmlspecialchars($_GET['min']))) . "<br />n";
$min = long2ip(htmlspecialchars($_GET['min']));
$max = long2ip(htmlspecialchars($_GET['min']));
if (isset($_GET['max']) && preg_match("#^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$#", long2ip($_GET['max']))) {
$max = long2ip(htmlspecialchars($_GET['max']));
}
}
echo "<form method='post' class='list-group-item' action='?ban=$passgen'>n";
echo "<div class='row'>";
echo "<div class='input-field col s12'>";
echo "<input id='min' name='min' length='100' type='text' value='$min' class='validate'>";
echo "<label for='min'>Начало</label>";
echo "</div>";
echo "</div>";
echo "<div class='row'>";
echo "<div class='input-field col s12'>";
echo "<input id='max' name='max' length='100' type='text' value='$max' class='validate'>";
echo "<label for='max'>Конец</label>";
echo "</div>";
echo "</div>";
echo "<button class='waves-effect waves-light btn'>Забанить</button>";
echo "</form>";
require_once H . 'sys/inc/tfoot.php';