Блокируем пользователя по IP-адресу
Очень простая, но в тоже время очень доступная для понимания реализация этой задачи.
Её можно использовать фактически в любом скрипте.
За дело
Для начала нам нужно получить список ip-адресов, которым будет закрыт доступ на наш сайт. Еще потребуется
использовать массивы и циклы — вот где нам и пригодится php.
Дальше — больше
Для получения ip-адреса посетителя можно
использовать суперглобальную переменную
$_SERVER['REMOTE_ADDR'].
На php это реализуется следующим образом:
$ip = $_SERVER['REMOTE_ADDR'];
А теперь разберемся с
остальными переменными нашего мини-скрипта. Создаем массив ($ban), куда помещаем все забаненые ip:
$ban = array('333.333.333.333',’111.111.111.111’);
Как видите, ip нужно помещать в одинарные кавычки и отделять их друг от друга запятой
(все просто и ясно — за что я и люблю php)
В следующая переменная ($count) будет занесено количество этих самых ip:
$count = count($ban);
Что мы имеем:
1) IP адрес определенного посетителя — переменная $ip;
2) массив запрещенных
IP-адресов — $ban;
3) число элементов этого массива — $count.
Все элементарно просто — берем и сверяем адрес $ip со списком запрещенных — а так как у нас
их может быть несколько, то для этого понадобится обход всего массива забаненых адресов.
Эту работу за нас легко проделает цикл for:
for ($i=0; $i< $count; $i++) { if($ip == $ban[$i])
{ die("Вы забанены!. $ip"); } }
Вот и получается,
что если проверяемый адрес совпадет с одним из наших «нехороших», то мы и дадим знать его обладателю — Вы забанены!. 68.225.34.86.
А вот и весь
скрипт целиком — это для тех, кому лень его собирать по частям из статьи:
$ip = $_SERVER['REMOTE_ADDR'];
$ban = array('333.333.333.333','68.225.34.86');
$count = count($ban); for ($i=0; $i< $count; $i++) { if($ip == $ban[$i])
{ die("Вы забанены! $ip"); } }
Береженого и Бог бережет! Так что пользуемся и радуемся:)