Файл: banzz/admin.php
Строк: 291
<?php
?>
<?
// Сколько забаненных адресов выводить на одной странице!?
$messonpage = 3;
?>
<?php
error_reporting(0);
global $error, $logined;
if (file_exists("password.adm") and $QUERY_STRING != ""):
require ("password.adm");
if (!isset($login) or !isset($kPass[$login]) or md5($pass) != $kPass[$login]):
$logined = 0;
$error = "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>access no<br></center></td></tr></table></center>";
setcookie("login","",0);
setcookie("pass","",0);
else:
$logined = 1;
setcookie("login",$login);
setcookie("pass",$pass);
endif;
endif;
?>
<html><head>
<title>::</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
<!--
body, td, input, textarea, select { color: black; font: 8pt verdana; font-weight: none; text-decoration: none }
}
-->
</style></head>
<body bgcolor="#FFFFFF" text="#000000" link="#0095ff" vlink="#0095ff" alink="#0095ff" style="font-size: 8pt; font-family: Verdana">
<?php
if (!file_exists("password.adm") and $QUERY_STRING == "login"):
echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Сейчас будет создан файл с паролем.<br></center></td></tr></table></center>";
if (isset($login) and $login != "" and isset($pass) and $pass != ""):
$file = fopen("password.adm","w");
fputs($file,"<?php #Внимание! Не редактируйте этот файл вручную! Для того чтобы сменить пароль нужно удалить этот файл!rn$kPass['$login'] = "".md5($pass)."";rn?>");
fclose($file);
echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Файл с паролем создан!<br></center></td></tr></table></center>";
$error = "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Теперь Вы можете войти в администрирование!<br></center></td></tr></table></center>";
else: echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Файл не создан! Недостаточно параметров!<br></center></td></tr></table></center>";
endif;
endif;
if ($logined):
function timendate($timezdatez)
{
$minute = date ($timezdatez);
$timezdatez = getdate ($timezdatez);
$days = array ("декабря","января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября");
$j = $timezdatez[mon];
$daystwo = array( "в воскресенье","в понедельник","во вторник","в среду","в четверг","в пятницу","в субботу");
$j2 = $timezdatez[wday];
$timezdatez = "Был заблокирован: ".$daystwo[$j2].", $timezdatez[mday] ".$days[$j]." $timezdatez[year] года, в $timezdatez[hours]:".date("i",$minute);
return $timezdatez;
}
if ($QUERY_STRING == "help"):?>
<center>
<table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC">
<tr>
<td align=left bgcolor="f5f5f5" colspan="2" width="586"></center>
</td>
</tr>
<tr>
<td bgcolor="white" colspan="2" width="586"><font face="Verdana" size="1">
Помощь по работе.<br><br>
Ну как что вводить я думаю понятно!? Нет!? :) Ну тогда слушайте!<br><br>
Вводите нужный Вам ip адрес, типа: 127.2.3.4<br>
Вводите нужный комментарий, типа: За плохое поведение!<br>
Если Вы хотите чтобы заблокированный пользователь, зайдя на защищённую страницу увидел Ваш комментарий, то поле для его заполнения, разумеется, нельзя оставлять пустым :) Я вот выгнал за плохое поведение :)
<br><br>
Дальше нажимаете кнопку, "Добавить". И готово! IP адрес в базе данных!<br>
В ниже следующей таблице Вы можете изменить введённые ранее данные или вовсе удалить IP адрес из базы данных. ( Только в том случае если пользователь исправился :))<br>Кстати, IP адрес 1.1.1.1 который стоит по умолчанию, Вы разумеется, можете спокойно удалять. ( если он там есть :))<br><br>
Диапазоны IP адресов.<br><br>
Рассмотрим пример:<br>
Допустим, Вы точно знаете только три последних числа IP адреса, и не знаете первое число. Ну пусть это будут числа, "22,33,44". <br> Что делать спросите Вы!?<br> Говорите скрипт не поможет!? :) А вот и поможет! Точнее диапазоны помогут.<br>
Вводим в форму добавления нового IP адреса: *.22.33.44<br>
Далее комментарий, если он нужен. И жмем кнопку, "Добавить".<br>
Всё пользователь готов. Пользоваться диапазонами очень удобно!<br>
* - означает, что первое число IP адреса пользователя может быть любым, и оно не учитывается. Проверка ведётся только по оставшимся трём числам.<br><br>
Рассмотрим несколько примеров:<br>
125.*.*.44 - Здесь учёт ведётся только по первому и последнему числу IP адреса.<br>
*.1.*.* - Здесь только по второму числу.<br>
*.*.*.* - А здесь вообще ВСЕХ забанили.<br><br>
Ещё диапазоны могут быть полезны, когда у Вашего неприятеля например пять телефонов для дозвона на модемный пул провайдера:<br>
12-12-13<br>
12-12-14<br>
12-12-15<br>
12-12-16<br>
12-12-17<br><br>
И каждому из этих телефонов присваивается такой IP:<br>
Неизвестно.33.34.112<br>
Неизвестно.33.34.112<br>
Неизвестно.33.34.112<br>
Неизвестно.33.34.112<br>
Неизвестно.33.34.112<br><br>
Первое число IP адреса неизвестно, так - как оно постоянно меняется. Зато остальные три известны.<br>
Вот и вводим их в форму для добавления IP: *.33.34.112<br>
Далее комментарий, если он нужен.<br>
Готово! Доступ закрыт :) ( напоминает мне k.Open/Close )<br>
Также этот скрипт может пригодиться и для защиты гостевых, форумов и т.д.<br><br>
Изменение времени блокировки:<br>
Для каждого заблокированного пользователя, указывается время его блокировки, Вы соответственно можете его изменить. Так - же кроме комментария пользователю можно вывести и время, когда ему закрыли доступ к системе. Вывод времени блокировки пользователя, не относится к обязательным параметрам скрипта, и если Вам необходима данная функция читайте комментарии в коде скрипта, "banzz.php".<br>
P.S. Под словом, "время", подразумевается не только время, но и дата :))<br><br>
</td>
</tr>
</table>
<?exit;endif;
$datafile="banzz.dat";
if (!file_exists("$datafile")):
$filez = fopen("$datafile","w");$timezdatez = time();$timezdatez=timendate($timezdatez);
fputs($filez,"1.1.1.1|Это - тестовый комментарий!|$timezdatezrn");fclose($filez);endif;
$QUERY_STRING = "ban";
if ($QUERY_STRING == "ban"):
$datafile="banzz.dat";
$bans = file("$datafile");
if (isset($znach)) {
if ($znach == "Добавить") {
if ($ip == ""){echo "Не заполнен раздел, "IP". Вернитесь назад.";exit;}
if (!ereg("^["*",0-9]{1,3}.["*",0-9]{1,3}.["*",0-9]{1,3}.["*",0-9]{1,3}$", $ip)){echo "Не правильно заполнен раздел, "IP".<br>Примеры: 127.0.0.1 : 127.*.*.1<br>Вернитесь назад.";exit;}
$file = fopen("$datafile","a");
$ip = ereg_replace("*",".*",$ip);
$ip = ereg_replace(".",".",$ip);$timezdatez = time();$timezdatez=timendate($timezdatez);
fputs($file,"$ip|$comm|$timezdatezrn");
fclose($file);
}
if ($znach == "Изменить" or $znach == "Удалить") {
$file = fopen("$datafile","w");
for ($q = 0; $q < count($bans); $q++) {
if ($q != $number) {fputs($file,$bans[$q]);}
else {
if ($znach == "Изменить") {
if ($ip == ""){echo "Не заполнен раздел, "IP". Вернитесь назад.";exit;}
if (!ereg("^["*",0-9]{1,3}.["*",0-9]{1,3}.["*",0-9]{1,3}.["*",0-9]{1,3}$", $ip)){echo "Не правильно заполнен раздел, "IP".<br>Примеры: 127.0.0.1 : 127.*.*.1<br>Вернитесь назад.";exit;}
$ip = ereg_replace("*",".*",$ip);
$ip = ereg_replace(".",".",$ip);
fputs($file,"$ip|$comm|$timezdatezrn");
}
}
}
fclose($file);
}
$bans = file("$datafile");
}
$dataz="banzz.dat";
$ondataz = file("$dataz");
$messages = count($ondataz);
if (!isset($page)) {$page = 1;}
$numzone = count($ondataz) - ($messonpage * ($page - 1));
$numztwo = count($ondataz) - ($messonpage * $page) + 1;
if ($numztwo < 1) {$numztwo = 1;}
$pages = (int) ((count($ondataz) + $messonpage - 1) / $messonpage);
$line = "";
for ($u = 1; $u <= $pages; $u++) {
if ($u != $page) {$line .= "<a href="admin.php?page=$u"> $u </a>|";}
if ($u == $page) {$line .= " $u |";}
}
echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=left bgcolor="f5f5f5"colspan="2" width="586"><center> Добавление нового IP адреса.<br></center></td></tr><tr><td bgcolor="white" colspan="2" width="586"><form action=admin.php?ban method=post>";
echo "IP:<br><input style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt" type=text name=ip size=60> | <a href="admin.php?help" title="Небольшая справка по работе со скриптом." target="_blank" >Помощь.</a><br>";
echo "Описание:<br><input style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt" type=text name=comm size=60 > </td></tr>rn";
echo "<tr><td align=center colspan=2 bgcolor="ffffff"><input style="background-color : #cccccc; border-style: solid;border-width: 1;" type=submit name=znach title="Добавляет введённый Вами IP в банлист. Так - же можно добавить комментарий к нему, он высветится при обращении к защищённой странице забаненного пользователя. Время добавляется автоматически!" value=Добавить></td></tr>rn";
echo "<br><center><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Всего заблокированных: $messages | Страницы: $line<br></center></td></tr></table></center>";
echo "</table>rn</form></td></tr>rn";
echo "<table width=468 bgcolor=#cccccc border=0 cellspacing=1 cellpadding=0>rn";
for ($q = $numzone - 1 ; $q >= $numztwo - 1; $q--) {
$bans[$q] = ereg_replace("rn","",$bans[$q]);
list ($ip,$comm,$timezdatez)=split("|",$bans[$q]);
$ip = ereg_replace(".",".",$ip);
$ip = ereg_replace(".*","*",$ip);
$ip = ereg_replace("\.",".",$ip);
echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=left bgcolor="f5f5f5"colspan="2" width="586"><center>Удалить/Изменить!?<br></center></td></tr><tr><td bgcolor="white" colspan="2" width="586"><form action=admin.php?ban method=post><input type=hidden name=number value=$q><input style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt" size="35" type=text name=ip value="$ip" size=11><br><input style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt" type=text name=comm value="$comm" size=65><br><input style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 8pt" type=text name=timezdatez value="$timezdatez" size=65 > <input style="background-color : #cccccc; border-style: solid;border-width: 1;" type=submit name=znach value="Удалить" title="Удаляет IP и комментарий из базы данных." size=11> <input style="background-color : #cccc4c; border-style: solid;border-width: 1;" type=submit name=znach value="Изменить" title="Изменяет старый IP, комментарий или время блокирования, на новое значение." size=11></form></td></tr></table>rn";
}
echo "</table>";
endif;
else:
echo "$error";
?>
<center>
<table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC">
<tr>
<td align=left bgcolor="f5f5f5" colspan="2"></center>
<center>
</center>
</td>
</tr>
<tr>
<td bgcolor="white" colspan="2" width="586"><font face="Verdana" size="1">Добро пожаловать. Вы можете войти в систему.<br><br>
<table width=300 cellspacing=0 cellpadding=0 border=0>
<tr><td width=100 valign="top">
<form action="admin.php?login" method="post">
Логин:
</td><td width=200 valign="top">
<input type="text" style="background-color : #f5f5f5;
border-style: solid;border-width: 1;" name="login">
</td></tr><tr><td width=100 valign="top">
Пароль:
</td><td width=200 valign="top">
<input type="password" style="background-color : #f5f5f5;
border-style: solid;border-width: 1;" name="pass">
</td></tr><tr><td width=211 valign="top">
<br><input type="submit" style="background-color : #cccccc;
border-style: solid;border-width: 1;" value="Проверить"><br>
</form></td></tr></table></font>
</td>
</tr>
</center>
<tr>
<td align=left bgcolor="f5f5f5" colspan="2">
</td>
</tr>
</table><br><br>
<?php if (!file_exists("password.adm")) { echo "<center><table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#DCDCDC"><tr><td align=center bgcolor="f5f5f5" colspan="2" width="588" valign="top"><center>Вход в систему осуществляется впервые! Введите любой логин и пароль и запомните их.<br></center></td></tr></table></center>";}?>
<?php endif; ?>
</center>
</body>
</html>