View file adm_panel/ban_ip.php

File size: 3.4Kb
<?
include_once '../sys/inc/start.php';
include_once '../sys/inc/compress.php';
include_once '../sys/inc/sess.php';
include_once '../sys/inc/home.php';
include_once '../sys/inc/settings.php';
include_once '../sys/inc/db_connect.php';
include_once '../sys/inc/ipua.php';
include_once '../sys/inc/fnc.php';
include_once '../sys/inc/adm_check.php';
include_once '../sys/inc/user.php';
user_access('adm_ban_ip',null,'index.php?'.SID);

$opsos=NULL;
$set['title']='Бан по IP';
include_once '../sys/inc/thead.php';
title();



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` = '".$_GET['delmin']."' AND `max` = '".$_GET['delmax']."' LIMIT 1");
mysql_query("OPTIMIZE TABLE `ban_ip`");
msg('Диапазон успешно удален');
}



err();
aut();

$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]");
$listing = new Smarty_conf();
$posts=array();
while ($post = mysql_fetch_assoc($q))
{
$posts[]=array('icon'=> array('size'=>'small','src'=> ICONS_COMMON.'ban_ip.png'),
'title'=> long2ip($post['min']).' - '.long2ip($post['max']),
'delete' => "?page=$page&amp;delmin=$post[min]&amp;delmax=$post[max]");
}
if (!$posts)$posts[]=array('title' => 'Нет забаненых IP');
$listing->assign('post',$posts);
$listing->display('body.conlentlist.tpl');
if ($k_page>1)str('?',$k_page,$page); // Вывод страниц



$min=NULL;$max=NULL;
if (isset($_GET['min']))
{
echo "HOST: ".gethostbyaddr(long2ip($_GET['min']))."<br />\n";
$min=long2ip($_GET['min']);$max=long2ip($_GET['min']);
if (isset($_GET['max']))$max=long2ip($_GET['max']);
}



$smarty = new Smarty_conf();
$smarty->assign('form_title','Бан по IP диапазону');
$smarty->assign('method','POST');
$smarty->assign('action',"?ban=$passgen");
$elements=array();

$elements[]=array('type'=>'input_text', 'title'=>'Начало', 'br'=>1,
'info'=>array('name' => 'min','value'=>$min));

$elements[]=array('type'=>'input_text', 'title'=>'Конец', 'br'=>1,
'info'=>array('name' => 'max','value'=>$max));


$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Забанить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');


$smarty = new Smarty_conf();
$smarty->assign('menu_title','Навигация');
$menu=array();
$menu[]=array('.','Админка');
$smarty->assign('menu',$menu);
$smarty->display('links.path.tpl');

include_once '../sys/inc/tfoot.php';
?>