Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1031
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Бан по IP-адресу средствами PHP

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Так уж сложилось у веб-мастеров, что на их сайты заходят как пользователи, так и спамерские роботы. Если первые заходят на сайт для поиска нужной информации, то вторым непременно подавай адреса e-mail'ов. Так называемые флудеры, которым попросту от нечего делать или от небольшого интеллекта так и хочется завалить ваши новости, статьи бестолковой лексикой. Ну а форум сообщениями, явно не относящимися к тематике рассматриваемой темы. Это неизбежно, как и то что за ночью приходит день и наоборот. Но с этим нужно бороться - иначе ваши порядочные пользователи вовсе потеряют интерес к вашему сайту - можете не сомневаться.




Самым простой метод противодействия данным явлениям - это банить таких посетителей по ip. Проще говоря, закрывать им доступ на ваш сайт. Данный метод пусть и не идеальная защита, но порядка 90% защиту он вам обеспечит. а это уже лучше, чем ничего.

Далее рассмотрим, как данная техника защиты работает на практике и как ее можно реализовать на php.

За дело

Для начала нам нужно получить список ip-адресов, которым будет закрыт доступ на наш сайт. Еще потребуется использовать массивы и циклы - вот где нам и пригодится php.

Дальше - больше :)

Для получения ip-адреса посетителя можно использовать суперглобальную переменную $_SERVER['REMOTE_ADDR'].

На php это реализуется следующим образом:

PHP - Код
php $ip $_SERVER['REMOTE_ADDR'];

.
.
А теперь разберемся с остальными переменными нашего мини-скрипта. Создаем массив ($ban), куда помещаем все забаненые ip:

PHP - Код
$ban = array('333.333.333.333',’111.111.111.111’);

.
.
Как видите, ip нужно помещать в одинарные кавычки и отделять их друг от друга запятой (все просто и ясно - за что я и люблю php)

В следующая переменная ($count) будет занесено количество этих самых ip:

PHP - Код
$count count($ban);

.
.
Для чего это все нужно - читайте дальше.

Что мы имеем:

1) IP адрес определенного посетителя - переменная $ip;
2) массив запрещенных IP-адресов - $ban;
3) число элементов этого массива - $count.

Все элементарно просто - берем и сверяем адрес $ip со списком запрещенных - а так как у нас их может быть несколько, то для этого понадобится обход всего массива забаненых адресов.

Эту работу за нас легко проделает цикл for:

PHP - Код
for ($i=0$i<$count$i++) { 
if(
$ip == $ban[$i]) { die("I'm sorry, you've been banned. $ip"); } }

.
.
.
Вот и получается, что если проверяемый адрес совпадет с одним из наших "нехороших", то мы и дадим знать его обладателю - I'm sorry, you've been banned. 68.225.34.86.

А вот и весь скрипт целиком - это для тех, кому лень его собирать по частям из статьи:


PHP - Код
$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("I'm sorry, you've been banned. $ip"); } 
}



Береженого и Бог бережет!



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP Бан по IP-адресу средствами PHP Так уж сложилось веб-мастеров что на их сайты заходят как пользователи так спамерские роботы Если первые сайт для поиска нужной информации то вторым непременно подавай адреса e-mail& #039 ов называемые флудеры которым попросту от нечего делать или небольшого интеллекта хочется завалить ваши новости статьи бестолковой лексикой Ну форум сообщениями явно не относящимися тематике рассматриваемой темы Это