Заметили ошибку ?
Выделите это место и нажмите Ctrl + Q

Вычисляем по IP c помощью php.


Сегодня научимся вычислять по ip с помощью php. Пусть у нас есть IP посетителя. Какие данные мы можем узнать на сторонних сервисах ?


Представляю Вашему вниманию сервис www.geoplugin.net. Напишем код на PHP:




$client  = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote  = @$_SERVER['REMOTE_ADDR'];
 
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
 
$ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));    

Распечатаем объект $ip_data:


echo "
";
var_dump($ip_data);
echo "
";

Приведу некоторые параметры данного объекта:


object(stdClass)#1 (24) {
  ["geoplugin_city"]=>
  string(6) "Chern'"
  ["geoplugin_region"]=>
  string(17) "Tul'skaya Oblast'"
  ["geoplugin_regionCode"]=>
  string(3) "TUL"
  ["geoplugin_regionName"]=>
  string(17) "Tul'skaya Oblast'"
  string(6) "Russia"
  string(13) "Europe/Moscow"
  ["geoplugin_currencyCode"]=>
  string(3) "RUB"
}

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


Теперь можем использовать данную информацию


$region = "";

if($ip_data && $ip_data->geoplugin_countryName != null)
{
    $region = $ip_data->geoplugin_region;
}

Разберём некоторые моменты вышеприведённого кода. $_SERVER['REMOTE_ADDR'] - не всегда содержит точное значение. Если пользователь сидит через прокси, то в переменных $_SERVER['HTTP_CLIENT_IP'] и $_SERVER['HTTP_X_FORWARDED_FOR'], возможно, будет более точная информация. Стоит отметить, что если пользователь постарается, ему удастся скрыть реальный IP.


filter_var($client, FILTER_VALIDATE_IP) - фирменный метод проверить данные на корректность!


Теперь мой сайт будет в базу данных записывать не IP, а сразу регион, таким образом, будет наглядно откуда, примерно, данный пользователь.


На этом всё! Пока!



Счастливого программирования!


09-09-2018 в 19:24:50





Если у Вас что-то не получилось или Вы не имеете достаточных навыков по программированию, но ВСЁ РАВНО хотите данный скрипт к себе на сайт - можете обратится ко мне за помощью, и я Вам помогу!
Хочу такой скрипт к себе на Сайт

Похожая статья:

Передачи массива методом POST

Пусть есть массив $arr, определённый на странице 1.php. Отобразите его...

Категория: PHP  Подкатегория: Задачи
Дата: 15-01-2018 в 16:47:34 0



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота:

Ответ:


Последние
видео:



Шейкер-сортировка (С#)
ОГЭ по информатике. Задание 18


Подготовка к
ОГЭ


Подготовка к ОГЭ по информатике


Давайте
дружить!


Группа Вконтакте Code-Enjoy

Твиттер Александра Калужского

YouTube канал Code-Enjoy


Препод напал на тебя как вампир? Не бойся! Студланс защитит этот мир!