ГЛАВНАЯ | HTML | CSS | PHP | JS | ЕЩЁ |

Определить существует ли ip, заблокировать пользователя по ip

Как определить есть ли – существует ли ip у пользователя! Это не главный, но один из признаков того, что перед вами человек а не робот!

Почему и откуда такая тема у нас на сайте про ip, ну вообще понятие – как получить ip пользователя – иногда бывает нужна такая информация! Ну и идентифицировать анонимного пользователя!

Итак… у нас на сайте второй раз был повешен(выведен из рабочего состояния) почтовый сервис, который прикреплен в нашему домену. Т.е. если количество сообщений превысит 500 , то он просто отрубается и его нужно включать автоматически! И это наша первая статья(будет несколько) по поводу, как можно защититься от всего этих кАзлов!

Но давайте уже перейдём к получению ip. А уж поэтому немного поразглагольствуем и как этот ip можно будет использовать!

Получить ip через php [H2]

$_SERVER['REMOTE_ADDR']

Вывести на экран ip пользователя или ваше

Echo $_SERVER['REMOTE_ADDR']

В результате мы получим вот такой результат:

34.204.179.0

Конечно – привязываться к ip - это не совсем правильно, потому. Что если это немного более продвинутый пользователь, то скорее всего у него будет какое-то устройство генерирующее новый ip … через какое-то время!

Но мы ведь впервые с этим столкнулись и с чего-то надо начинать!

Как заблокировать пользователя по ip!?[H2]

Сделаем простой код, который нам поможет в этом… у нас нет регистрации, поэтому будем работать с анонимным пользователем… у которого есть ip и его то мы и будем записывать!

Логика скрипта – забанить по ip.[H2]

1. Мы можем получить ip, записать его в отдельный файл с помощью file_put_contents
2. И в следующий раз будем получить данные с помощью file_get_contents
3.

Для удобства использования массив отправим в переменную

$ip = $_SERVER['REMOTE_ADDR'];

И проверим, есть ли существующий ip в нашем списке, если есть, то не пускаем далее скрипт,

$file_BAD_IP - путь до файла на сервере, например txt
4.

получим данные файла в строку...

$get_BAD_IP = @file_get_contents($file_BAD_IP);
5.

substr_count - поиск совпадений в строке...

if(@substr_count($get_BAD_IP, $ip)){exit;}
6.

Если же в нашем списке данного ip нет, то записываем его туда… с переносом(\n), в конец файла(FILE_APPEND), файл закрыт на момент записи(LOCK_EX)

if(@!substr_count($get_bad_ip, $ip)){@file_put_contents($file_BAD_IP, $ip."\n" , FILE_APPEND | LOCK_EX);}
7.

Не забываем, что ip – скорее всего временный у данного пользователя, и в следующий раз, под данным ip уже может зайти другой пользователь. Для этого сделаем самоочищающийся список… и сделаем условие, если количество записей в файле больше… какого-то числа, например 5. То очищаем список.

Обратите внимание на различие в записях... пунктах 4 и 5

if(@!substr_count($get_bad_ip, $ip)){@file_put_contents($file_BAD_IP, $ip."\n" , LOCK_EX);}
8.

Проверим еть ли вообще ip, и если ip не существует, то остановим скрипт.

if(!$ip){ echo 'Что-то с вами не то... '; exit;}

Осталось собрать весь скрипт.

Посмотреть пример и скачать можно по ниже идущей ссылке

Скрипт № 72.1
Название скрипта и номер :server ip - получение, использование,блокировка
Пример - server ip - получение, использование,блокировка
Скачать - архив
Все скрипты на одной страницеС вашими куками, что-то не то..., попробуете перезагрузить страницу..
Теги:
Определить существует ли ip

Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019