it-blog.club
PHP как узнать ip адрес клиента

PHP как узнать ip адрес клиента

И так для того чтобы узнать IP адрес человека зашедшего на вас вам просто необходимо воспользоваться одной переменной: $_SERVER['REMOTE_ADDR']

Эта переменная позволяет получить IP адрес компьютера с которого зашёл тот или иной пользователь.

Например:


<?
echo $_SERVER['REMOTE_ADDR'];
?>

Если вы разместите этот код где нибудь у себя на сейте, на странице с расширением .php и зайдёте на неё в браузере, то получите IP адрес своего компьютера в сети.
Если ваш сайт уже в интернете, а не на локальном сервере, то вы можете попробовать зайти с другого устройства и у видите уже другой айпишник.

Пример 1

Подобная переменная PHP очень полезна. Например у вас имеется страница опросов и вы не хотели бы чтобы кто-то мог голосовать несколько раз. Для этого есть 2 варианта решения:
1) Использовать так называемые куки.
Но в таком случае человек может зайти в режиме инкогнито и голосовать сколько захочет раз, так как в данном режиме не сохраняется сессия и куки данные.

2) Проверять IP.
Вы наверняка заносите результаты голосования в БД. Помимо просто результата вы так же можете внести и IP адрес пользователя. Просто в БД (если вы не используете CMS, а юзаете чистый пхп) вам нужно создать новое поле ip-адрес, в которое вы бы заносили ip адреса проголосовавших.
И я так же не удивлюсь, что варианты для голосования у вас выводятся всё из той же БД. Перед тем как вывести форму с голосованием, вы можете постараться найти id записи в которой содержится ip пользователя.



$sql = 'SELECT id FROM IP_DB WHERE ip = '.$_SERVER['REMOTE_ADDR'];
$result = $conn->query($sql);

Если у вас получится не пустой вариант, то можете выводить пользователю сообщение о том, что он уже участвовал в голосовании. При этом уже будет совершенно без разницы, с какого браузера он зашёл.

Пример 2

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


<?

$arIp = array('123.321.2.3','123.321.3.2');//Создаём массив с IP адресами которые дал владелец компании
if(!in_array($_SERVER['REMOTE_ADDR'],$arIp)){//Условие если нет ip адреса, человека зашедшего на сайт, в массиве адресов, то выводим банер
?>
Код вашего баннера
<?
}

?>

Завершение

Это разумеется далеко не все примеры которые показывают полезность данной переменной. Но не стоит ею пренебрегать так как в вашей работе может возникнуть очень много сложных ситуаций, в которых будет просто не обойтись без неё. По этому я настоятельно рекомендую вас запомнить её и активно применять в своей работе.

На этом я прощаюсь с вами. Не забывайте добавлять мой блог в закладки, заходить на него и даже оставлять комментарии. Удачи!


it-blog.club 705
Автор: Ярослав Хмель


Если Вам понравилась статья, то можете поддержать блог переведя N сумму на кофе авторам или оплату хостинга!
В любом случае спасибо! А так же не забывайте про группу в ВК
ПОИСК ПО САЙТУ
Поддержать