Вход Регистрация
Файл: adm/ban_ip.php
Строк: 111
<?php

// Устанавливаем константу WBCAT , true
define'WBCAT');

// Подключаем "верх" каталога
require_once ('../inc/head.php');

  if (!
$allow)
  { 
// если ошибка, то закрываем доступ
    
exit ('Доступ закрыт');
  }

$id = isset($_GET['id']) ? intval($_GET['id']) : '';
$mod = isset($_GET['mod']) ? $_GET['mod'] : '';

switch (
$mod) {

# Баним ip-адрес #
case 'ban' :

// Заголовок
echo '<div class="zag">Блокировка ip-адреса </div>';

if (isset(
$_POST['go'])) {

// Обработка переменных , полученых через форму
            
$ip = isset ($_POST['ip']) ? trim($_POST['ip']) : '';
            
$ban_term = isset ($_POST['term']) ? intval($_POST['term']) : 1;
            
$ban_url = isset ($_POST['url']) ? htmlentities(trim($_POST['url']), ENT_QUOTES'UTF-8') : '';
            
$reason = isset ($_POST['reason']) ? htmlentities(trim($_POST['reason']), ENT_QUOTES'UTF-8') : '';

if (empty(
$ip)) {
$error[1] = 'Вы не ввели ip-адрес';
}

// Обработка ip-адреса
if (!ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$"$ip)) {
$error[2] = 'Неправильно ip-адрес';
}

if(isset(
$_SERVER['HTTP_X_REAL_IP'])) {
$ip2 $_SERVER['HTTP_X_REAL_IP'];
} else {
$ip2 $_SERVER['REMOTE_ADDR'];
}

/*if ($ip == $ip2) {
$error[3] = 'Вы пытаетесь забанить свой собственный ip-адрес !';
}*/

          
if (!empty($error)) {
                 echo 
'<div class="title">';
                   foreach(
$error as $value) {
                     echo 
"<b>$value</b> <br />";
                    }
                    echo 
'</div>';
            }
            else {

$ip ip2int($ip);

       
$result  =  mysql_query("INSERT INTO `ban_ip` SET
        `ip`='" 
mysql_real_escape_string($ip). "',
        `type`='" 
mysql_real_escape_string($ban_term). "',
        `url`='" 
mysql_real_escape_string($ban_url) . "',
        `reason`='" 
mysql_real_escape_string($reason) . "',
        `date`='" 
$time "';");
        echo 
'<div class="title">IP-адрес успешно забанен</div>';
        echo 
'<div class="main"><a href="ban_ip.php">Список забанненых</a></div>';
        echo 
'<div class="main"><a href="index.php">Админка</a></div>';
            }

}
 else {

            echo 
'<form action="ban_ip.php?mod=ban" method="post">';
            echo 
'<div class="title"><u>Введите IP адрес</u><br/>';
            echo 
'<input type="text" name="ip" value="'.htmlspecialchars($_REQUEST['ip']).'"/><br />';
            echo 
'<small>Банить можно один адрес Пример:<br />';
            echo 
'<font color="#FF0000">10.5.7.1</font> - Баним адрес<br />';
            echo 
'</small></div>';
            echo 
'<div class="title"><u>Тип бана</u><br/>';
            echo 
'<input name="term" type="radio" value="1" checked="checked" />Полная блокировка<br />';
            echo 
'<input name="term" type="radio" value="2" />Редирект<br />';
            echo 
'<u>URL редиректа</u><br /><small>[Необязательное поле]</small><br />';
            echo 
'<input type="text" name="url"/><br />';
            echo 
'<small[Например http://site.ru]</small></div>';
            echo 
'<div class="title"><u>Причина бана</u><br /><p><small>[Необязательное поле]</small><br />';
            echo 
'<textarea cols="20" rows="4" name="reason"></textarea></div>';
            echo 
'<div class="title"><input type="submit" name="go" value="Банить"/>';
            echo 
'</form></div>';
            echo 
'<div class="main"><a href="index.php">Отмена</a><br /><a href="ban_ip.php">Список забанненых</a></div>';
 }

break;

# Удаляем ip из бана #
case 'del' :

if (isset (
$_GET['go'])) {
                
mysql_query("DELETE FROM `ban_ip` WHERE `id`='$id' LIMIT 1");
                
mysql_query("OPTIMIZE TABLE `ban_ip`");
                echo 
'<div class="title">Бан успешно удален из базы</div>';
                echo 
'<div class="title"><a href="ban_ip.php">Продолжить</a><br /><a href="index.php">Админ панель</a></div>';
            }
            else {
                
$req mysql_query("SELECT * FROM `ban_ip` WHERE `id`='" $id "' LIMIT 1");
                if (
mysql_num_rows($req) != 1) {
                    echo 
'<div class="title">Такого ip нет в базе<br/>';
                    echo 
'<a href="ban_ip.php">Назад</a><br /><a href="index.php">Админ панель</a></div>';
                    require_once (
'../inc/foot.php');
                    exit;
                }
                else {
                    echo 
'<div class="title">Вы действительно хотите разбанить ip-адрес ?</div>';
                    echo 
'<div class="title"><a href="ban_ip.php?mod=del&id='.$id.'&go">Разбанить</a><br /><a href="ban_ip.php">Отмена</a></div>';
                }
            }

break;


# Удаляем все забанненые ip-адреса #
case 'del_all' :

       echo 
'<div class="zag" Удаление всех забанненых ip</div>';
          if (isset(
$_POST['submit'])) {
                  
$result mysql_query("DELETE FROM `ban_ip`;");
                            
mysql_query("OPTIMIZE TABLE `ban_ip`");
                      if (
$result == true){
                echo 
'<div class="title">Все ip-адреса удалены из базы !</div>';
                echo 
'<div class="title"><a href="ban_ip.php">Продолжить</a><br /><a href="index.php">Админ панель</a></div>';
                    }
                     else {echo 
'Ошибка разбана всех ip . Код ошибки <br/>';
                     echo 
mysql_error();
                     }

            } else {

           echo 
'<div class="title"><form action="ban_ip.php?mod=del_all" method="post">
            Вы действительно желаете разбанить все ip-адреса ?<br />
            <input type="submit" name="submit" value="Разбанить всех"/>
            </form></div>
            <div class="main"><a href="ban_ip.php">Назад</a></div>'
;
}
break;

# Выводим список забанненых ip #
default :

// Заголовок
echo '<div class="zag"><a href="index.php">Админ-панель</a> => <a href="ban_ip.php">IP-адреса</a></div>';

         
$num $settings['on_page'];
         
$page intval($_GET['page']);
         
$result mysql_query('SELECT COUNT(*) FROM `ban_ip`');
         
$posts mysql_result($result0);
         
$total intval(($posts 1) / $num) + 1;
         if(empty(
$page) or $page 0$page 1;
         if(
$page $total$page $total;
         
$start $page $num $num;
         
$result mysql_query('SELECT * FROM `ban_ip` ORDER BY id DESC LIMIT '.$start.', '.$num.'');
         if (
$posts ) {
                  while (
$m mysql_fetch_array($result)){
                  echo 
'<div class="title">';
                      echo 
'<u>IP</u>: <b>'.int2ip($m['ip']).'</b>| [id'.$m['id'].']<br/>';
                     echo 
'<u>Тип бана </u>: '.($m['type'] == 'полная блокировка' 'редирект').'<br/>';
                     echo 
'<u>Причина бана</u>: '.(empty($m['reason']) ? 'Причина не указана' ''.$m['reason'].'').'<br/>';
                     echo 
''.($m['type'] == '<u>Редирект</u> : '.$m['url'].'<br/>' '').'';
                     echo 
'<u>Дата бана</u>: '.date('d.m.y H:i',$m['date']).'';
                     echo 
'</div>';
                     echo 
'<div class="min"><a href="ban_ip.php?mod=del&id='.$m['id'].'">Разбанить</a></div>';
                    
// echo '<br/><small><a href="ban_ip.php?do=add&id='.$m['id'].'">Добавить</a>|<a href="ban_ip.php?do=del&id='.$m['id'].'">Удалить</a></small><hr/>';
                    
}

                    if (
$page != 1$pervpage ' <a href= "ban_ip.php?page='. ($page 1) .'">Назад</a> ';
                    
// Проверяем нужны ли стрелки вперед
                    
if ($page != $total$nextpage ' <a href="ban_ip.php?page='. ($page 1) .'">Вперед</a>';
                    if (
$page !=AND $page != $total$i '|';
                    if (
$page 0$first '<a href="ban_ip.php?page=1">1</a>...';
                    if (
$page <= $total$last '...<a href="ban_ip.php?page='.$total.'">'.$total.'</a>';
                    
// Находим две ближайшие станицы с обоих краев, если они есть
                    
if($page 0$page2left ' <a href= "ban_ip.php?page='. ($page 2) .'">'. ($page 2) .'</a> ';
                    if(
$page 0$page1left '<a href= "ban_ip.php?page='. ($page 1) .'">'. ($page 1) .'</a> ';
                    if(
$page <= $total$page2right ' <a href="ban_ip.php?page='. ($page 2) .'">'. ($page 2) .'</a>';
                    if(
$page <= $total$page1right ' <a href="ban_ip.php?page='. ($page 1) .'">'. ($page 1) .'</a>';

                    
// Вывод меню
                       
if ($posts $num) {
                          echo 
'<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
                         }
            }
          else {
             echo 
'<div class="title">Нет забанненых ip-адресов</div>';
            }

 echo 
'<div class="main"><a href="ban_ip.php?mod=ban">Банить IP</a></div>';
if (
$posts 1) { echo '<div class="main"><a href="ban_ip.php?mod=del_all">Разабнить все ip</a></div>'; }
 echo 
'<div class="main"><a href="index.php">Админка</a></div>';
 echo 
'<div class="zag">Всего забанненых ip : '.$posts.'</div>';

}

// Ссылка на главную
echo '<div class="main"><a href="'.$home.'">Главная</a></div>';

// Покдлючаем "низ" каталога
require_once ('../inc/foot.php');
?>
Онлайн: 1
Реклама