Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Пишем систему бана по ip.

Часто владельцы более или менее крупных сайтов встречаются с “плохими юзерами”, с юзерами, которые так или иначе вредят нормальной работе системы. Таких юзеров нужно банить по ip. На этот раз я расскажу как сделать такую систему бана.

Для начало создадим файл с ip забаниных юзеров и причиной их бана. Этот файл должен иметь следующую структуру:

Ip юзера::причина бана.

И сохраним его – files/ban.login

Теперь начнем писать систему бана.

Открываем разными способами этот файд:

<?
if (file_exists(“files/ban.login”)){ $file = file(“files/ban.login”); }
else{$file = file(“./files/ban.login”);}

Теперь считаем кол-во банов:

for($i=0;$i<count($file);$i++)

Всё ок, теперь разбиваем все строки:

{
$q = explode(“::”, $file[$i]);
$banlogin = $q[0];
}

Проверяем, не забанин ли пользователь:

if (ereg(“^$banlogin$”,$login) || ereg(“^$banlogin$”,$login2) and $userr){
echo(“Вам закрыт доступ на сайт. Причина: “.$q[1]);

}
else{
$file=implode(”,file(‘files/ban.ip’));
$ip=$_SERVER['REMOTE_ADDR'];
if (ereg($ip,$file)){
echo(“Вам закрыт доступ на сайт.”);

}
else{?>

И контент:

Основной контент
<?
}
?>

Вот и всё, система бана по ip готова.

Использовались функции:

  • count — Посчитать количество элементов массива или количество свойств объекта
  • ereg — ищет со строгим регистром
  • explode – Разбивает строку на подстроки
  • implode — Объединяет элементы массива в строку
  • file_exists — Проверить наличие указанного файла или каталога

Обсуждения

Нет комментариев к “Пишем систему бана по ip.”

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал