Ban по ip

30 Ноя
2011

В наше время развелось много спамеров, тролей и спам ботов, что очень мешает развитию проекту.
И очень часто бывает, что спамеров не останавливает простой бан учетной записи, и тогда приходит время бана по ip.

Весь код прокомментирован:





<?php

//соединение с базой данных
$db_host="Хост";
$db_user="логин";
$db_pass="пароль";
$db_name="имя базы данных";

$db=mysql_connect ("$db_host","$db_user","$db_pass") or die (mysql_error());
mysql_select_db ("$db_name",$db);
//end db

$ip=$_SERVER['REMOTE_ADDR'];//получаем ip
$query=mysql_query("SELECT * FROM ban WHERE ip='$ip'",$db);//выборка из базы
$query=mysql_fetch_array($query);//создаем массив

if (isset($query['id']))//если есть запись в базе с этим ip
  {
  $why=$query['why'];//причина бана
  die ("Вы были забанены по ip $ip на данном ресурсе<p>Причина: $why

Все вопросы к Администрации сайта</p>");//оповещение забаненного юзера
  } 

?>

Этот файл подключается в начале каждой страницы.

Таблица Ban


CREATE TABLE IF NOT EXISTS `ban` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip` text NOT NULL,
  `why` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;


Спасибо за внимание!
Надеюсь статья была полезна новичкам.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх