Файл: adm_panel/ban_ip.php
Строк: 103
<?php
/*
 * Панель управления
 * DCMS Special
 * Модифицировал densnet
 * Файл ban_ip.php
 */
require_once '../sys/inc/start.php';
require_once '../sys/inc/compress.php';
require_once '../sys/inc/sess.php';
require_once '../sys/inc/settings.php';
require_once '../sys/inc/db_connect.php';
require_once '../sys/inc/ipua.php';
require_once '../sys/inc/fnc.php';
require_once '../sys/inc/adm_check.php';
require_once '../sys/inc/user.php';
user_access('adm_ban_ip', null, 'index.php?' . SID);
$opsos = NULL;
$set['title'] = 'Бан по IP';
require_once '../sys/inc/thead.php';
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('Диапазон успешно удален');
}
title();
err();
aut();
#Навигация
echo "<div class = 'razd'><a href = '/index.php'>Главная</a> > <a href = '/umenu.php'>Кабинет</a> > <a href = '/adm_panel/'>Панель управления</a> > <a href = '?'><b>Бан по IP</b></a></div>";
echo "<div style = 'font-size: 18px;font-weight: bold;' class = 'razdel'>" . img('other.png') . " Бан по IP</div>";
$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 = 'errs'>";
    echo img('error.png') . " Нет результатов";
    echo "</div>";
}
while ($post = mysql_fetch_assoc($q)) {
    echo "<div class = 'razd'>";
    echo "<div style = 'float:right;' id = 'hide'>";
    echo "<a href = '?page=$page&delmin=$post[min]&delmax=$post[max]' title = 'Удалить'>" . img('cross.png') . "</a>";
    echo "</div>";
    echo long2ip($post['min']) . ' - ' . long2ip($post['max']);
    echo "</div>";
}
if ($k_page > 1) {
    str('?', $k_page, $page);
}
$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 = 'razd' action = '?ban=$passgen'>n";
echo "<b>Начало</b><br /><input name = 'min' size = '16'  value = '$min' type = 'text' /><br />";
echo "<b>Конец</b><br /><input name = 'max' size = '16' value = '$max' type = 'text' /><br />";
echo "<button class = 'active'>";
echo "<span class = 'label'><span class = 'icon icon44' /> Забанить</span>";
echo "</button></form>";
if (user_access('adm_panel_show')) {
    echo "<a href = '/adm_panel/'><div class = 'razd'>" . img('left.png') . " Панель управления</div></a>";
}
require_once '../sys/inc/tfoot.php';